aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraustinsworld15 <[email protected]>2021-12-08 13:48:00 -0800
committerGitHub <[email protected]>2021-12-08 13:48:00 -0800
commitbabf4b318d1a5e8c9d9e3c402040961f28af0fb4 (patch)
tree0358e319c8b27bf8753ce4252cbc324e5841b302
parentUpdate Project 3.cpp (diff)
downloadcst116-proj3-austinsworld15-babf4b318d1a5e8c9d9e3c402040961f28af0fb4.tar.xz
cst116-proj3-austinsworld15-babf4b318d1a5e8c9d9e3c402040961f28af0fb4.zip
Update Project_3_Functions.cpp
-rw-r--r--CST116F2021-Proj3/Project_3_Functions.cpp456
1 files changed, 228 insertions, 228 deletions
diff --git a/CST116F2021-Proj3/Project_3_Functions.cpp b/CST116F2021-Proj3/Project_3_Functions.cpp
index aa8bee8..a13fca8 100644
--- a/CST116F2021-Proj3/Project_3_Functions.cpp
+++ b/CST116F2021-Proj3/Project_3_Functions.cpp
@@ -7,7 +7,7 @@ using namespace std;
//This function is only to display the menu
void Menu()
{
- cout << "----------------------------------------------------------------------\n\nThis program will ask you for a matrix and will either:\n\n1. Process and display a matrix\n\n2. Add a matrix\n\n3. Multiply a matrix\n\n4. Exit the program\n\nInput the corresponding number to make a choice\n\n----------------------------------------------------------------------\n\nYour choice is:\n\n";
+ cout << "----------------------------------------------------------------------\n\nThis program will ask you for a matrix and will either:\n\n1. Process and display a matrix\n\n2. Multiply a matrix\n\n3. Add a matrix\n\n4. Exit the program\n\nInput the corresponding number to make a choice\n\n----------------------------------------------------------------------\n\nYour choice is:\n\n";
}
//This funtion will process the choice inputted from the user
@@ -19,238 +19,238 @@ void ProcessChoice(int& choice)
//This function is only used to record a matrix, but won't be used because the individual functions will ask for a matrix anyways. This function is only to record and display back, and not to use
void GetMatrix(int& rowM1, int& columnM1, int& rowM2, int& columnM2, int& iM, int& jM)
{
- int arrayM1[10][10];
- int arrayM2[10][10];
- int Matrixarray[10][10];
-
- //Asking for how many rows and columns for the matrix. I know it's supposed to be a 3 x 3 but I made it to fit however many the user wants
- cout << "Enter rows and columns for first matrix: ";
- cin >> rowM1 >> columnM1;
- cout << "\nEnter rows and columns for second matrix: ";
- cin >> rowM2 >>columnM2;
-
- // If column of first matrix in not equal to row of second matrix,
- // ask the user to enter the size of matrix again.
- while (columnM1 != rowM2)
- {
- cout << "Error! column of first matrix not equal to row of second.";
-
- cout << "Enter rows and columns for first matrix: ";
- cin >> rowM1 >> columnM1;
-
- cout << "Enter rows and columns for second matrix: ";
- cin >> rowM2 >> columnM2;
- }
-
- // Storing elements of first matrix.
- cout << endl << "Enter elements of matrix 1:" << endl;
- for (iM = 0; iM < rowM1; ++iM)
- for (jM = 0; jM < columnM1; ++jM)
- {
- cout << "Enter element a" << iM + 1 << jM + 1 << " : ";
- cin >> arrayM1[iM][jM];
- }
-
- // Storing elements of second matrix.
- cout << endl << "Enter elements of matrix 2:" << endl;
- for (iM = 0; iM < rowM2; ++iM)
- for (jM = 0; jM < columnM2; ++jM)
- {
- cout << "Enter element b" << iM + 1 << jM + 1 << " : ";
- cin >> arrayM2[iM][jM];
- }
-
- //Displaying the numbers of matrix a inputted by user
- cout << endl << "Input numbers from array 1: \n" << endl;
- for (iM = 0; iM < rowM1; ++iM)
- for (jM = 0; jM < columnM2; ++jM)
- {
- cout << " " << arrayM1[iM][jM];
- if (jM == columnM2 - 1)
- cout << endl;
- }
-
- //Displaying the numbers of matrix b inputted by user
- cout << endl << "Input numbers from array 2: \n" << endl;
- for (iM = 0; iM < rowM1; ++iM)
- for (jM = 0; jM < columnM2; ++jM)
- {
- cout << " " << arrayM2[iM][jM];
- if (jM == columnM2 - 1)
- cout << endl;
- }
+ int arrayM1[10][10];
+ int arrayM2[10][10];
+ int Matrixarray[10][10];
+
+ //Asking for how many rows and columns for the matrix. I know it's supposed to be a 3 x 3 but I made it to fit however many the user wants
+ cout << "Enter rows and columns for first matrix: ";
+ cin >> rowM1 >> columnM1;
+ cout << "\nEnter rows and columns for second matrix: ";
+ cin >> rowM2 >> columnM2;
+
+ // If column of first matrix in not equal to row of second matrix,
+ // ask the user to enter the size of matrix again.
+ while (columnM1 != rowM2)
+ {
+ cout << "Error! column of first matrix not equal to row of second.";
+
+ cout << "Enter rows and columns for first matrix: ";
+ cin >> rowM1 >> columnM1;
+
+ cout << "Enter rows and columns for second matrix: ";
+ cin >> rowM2 >> columnM2;
+ }
+
+ // Storing elements of first matrix.
+ cout << endl << "Enter elements of matrix 1:" << endl;
+ for (iM = 0; iM < rowM1; ++iM)
+ for (jM = 0; jM < columnM1; ++jM)
+ {
+ cout << "Enter element a" << iM + 1 << jM + 1 << " : ";
+ cin >> arrayM1[iM][jM];
+ }
+
+ // Storing elements of second matrix.
+ cout << endl << "Enter elements of matrix 2:" << endl;
+ for (iM = 0; iM < rowM2; ++iM)
+ for (jM = 0; jM < columnM2; ++jM)
+ {
+ cout << "Enter element b" << iM + 1 << jM + 1 << " : ";
+ cin >> arrayM2[iM][jM];
+ }
+
+ //Displaying the numbers of matrix a inputted by user
+ cout << endl << "Input numbers from array 1: \n" << endl;
+ for (iM = 0; iM < rowM1; ++iM)
+ for (jM = 0; jM < columnM2; ++jM)
+ {
+ cout << " " << arrayM1[iM][jM];
+ if (jM == columnM2 - 1)
+ cout << endl;
+ }
+
+ //Displaying the numbers of matrix b inputted by user
+ cout << endl << "Input numbers from array 2: \n" << endl;
+ for (iM = 0; iM < rowM1; ++iM)
+ for (jM = 0; jM < columnM2; ++jM)
+ {
+ cout << " " << arrayM2[iM][jM];
+ if (jM == columnM2 - 1)
+ cout << endl;
+ }
}
int AddMatrix(int& rowa1, int& columna1, int& rowa2, int& columna2, int& ia, int& ja, int& ka)
{
- int arraya1[10][10];
- int arraya2[10][10];
- int addedarray[10][10];
-
- //Asking for how many rows and columns for the matrix. I know it's supposed to be a 3 x 3 but I made it to fit however many the user wants
- cout << "Enter rows and columns for first matrix: ";
- cin >> rowa1 >> columna1;
- cout << "\nEnter rows and columns for second matrix: ";
- cin >> rowa2 >> columna2;
-
- // If column of first matrix in not equal to row of second matrix,
- // ask the user to enter the size of matrix again.
- while (columna1 != rowa2)
- {
- cout << "Error! column of first matrix not equal to row of second.";
-
- cout << "Enter rows and columns for first matrix: ";
- cin >> rowa1 >> columna1;
-
- cout << "Enter rows and columns for second matrix: ";
- cin >> rowa2 >> columna2;
- }
-
- // Storing elements of first matrix.
- cout << endl << "Enter elements of matrix 1:" << endl;
- for (ia = 0; ia < rowa1; ++ia)
- for (ja = 0; ja < columna1; ++ja)
- {
- cout << "Enter element a" << ia + 1 << ja + 1 << " : ";
- cin >> arraya1[ia][ja];
- }
-
- // Storing elements of second matrix.
- cout << endl << "Enter elements of matrix 2:" << endl;
- for (ia = 0; ia < rowa2; ++ia)
- for (ja = 0; ja < columna2; ++ja)
- {
- cout << "Enter element b" << ia + 1 << ja + 1 << " : ";
- cin >> arraya2[ia][ja];
- }
-
- // Adding matrix a and b and storing in array added.
- for (ia = 0; ia < rowa1; ++ia)
- for (ja = 0; ja < columna2; ++ja)
- for (ka = 0; ka < columna1; ++ka)
- {
- addedarray[ia][ja] = arraya1[ia][ja] + arraya2[ia][ja];
- }
-
- //Displaying the numbers of matrix a inputted by user
- cout << endl << "Input numbers from array 1: \n" << endl;
- for (ia = 0; ia < rowa1; ++ia)
- for (ja = 0; ja < columna2; ++ja)
- {
- cout << " " << arraya1[ia][ja];
- if (ja == columna2 - 1)
- cout << endl;
- }
-
- //Displaying the numbers of matrix b inputted by user
- cout << endl << "Input numbers from array 2: \n" << endl;
- for (ia = 0; ia < rowa1; ++ia)
- for (ja = 0; ja < columna2; ++ja)
- {
- cout << " " << arraya2[ia][ja];
- if (ja == columna2 - 1)
- cout << endl;
- }
-
- // Displaying the addition of two matrix.
- cout << endl << "Output Matrix: " << endl;
- for (ia = 0; ia < rowa1; ++ia)
- for (ja = 0; ja < columna2; ++ja)
- {
- cout << " " << addedarray[ia][ja];
- if (ja == columna2 - 1)
- cout << endl;
- }
-
- return 0;
+ int arraya1[10][10];
+ int arraya2[10][10];
+ int addedarray[10][10];
+
+ //Asking for how many rows and columns for the matrix. I know it's supposed to be a 3 x 3 but I made it to fit however many the user wants
+ cout << "Enter rows and columns for first matrix: ";
+ cin >> rowa1 >> columna1;
+ cout << "\nEnter rows and columns for second matrix: ";
+ cin >> rowa2 >> columna2;
+
+ // If column of first matrix in not equal to row of second matrix,
+ // ask the user to enter the size of matrix again.
+ while (columna1 != rowa2)
+ {
+ cout << "Error! column of first matrix not equal to row of second.";
+
+ cout << "Enter rows and columns for first matrix: ";
+ cin >> rowa1 >> columna1;
+
+ cout << "Enter rows and columns for second matrix: ";
+ cin >> rowa2 >> columna2;
+ }
+
+ // Storing elements of first matrix.
+ cout << endl << "Enter elements of matrix 1:" << endl;
+ for (ia = 0; ia < rowa1; ++ia)
+ for (ja = 0; ja < columna1; ++ja)
+ {
+ cout << "Enter element a" << ia + 1 << ja + 1 << " : ";
+ cin >> arraya1[ia][ja];
+ }
+
+ // Storing elements of second matrix.
+ cout << endl << "Enter elements of matrix 2:" << endl;
+ for (ia = 0; ia < rowa2; ++ia)
+ for (ja = 0; ja < columna2; ++ja)
+ {
+ cout << "Enter element b" << ia + 1 << ja + 1 << " : ";
+ cin >> arraya2[ia][ja];
+ }
+
+ // Adding matrix a and b and storing in array added.
+ for (ia = 0; ia < rowa1; ++ia)
+ for (ja = 0; ja < columna2; ++ja)
+ for (ka = 0; ka < columna1; ++ka)
+ {
+ addedarray[ia][ja] = arraya1[ia][ja] + arraya2[ia][ja];
+ }
+
+ //Displaying the numbers of matrix a inputted by user
+ cout << endl << "Input numbers from array 1: \n" << endl;
+ for (ia = 0; ia < rowa1; ++ia)
+ for (ja = 0; ja < columna2; ++ja)
+ {
+ cout << " " << arraya1[ia][ja];
+ if (ja == columna2 - 1)
+ cout << endl;
+ }
+
+ //Displaying the numbers of matrix b inputted by user
+ cout << endl << "Input numbers from array 2: \n" << endl;
+ for (ia = 0; ia < rowa1; ++ia)
+ for (ja = 0; ja < columna2; ++ja)
+ {
+ cout << " " << arraya2[ia][ja];
+ if (ja == columna2 - 1)
+ cout << endl;
+ }
+
+ // Displaying the addition of two matrix.
+ cout << endl << "Output Matrix: " << endl;
+ for (ia = 0; ia < rowa1; ++ia)
+ for (ja = 0; ja < columna2; ++ja)
+ {
+ cout << " " << addedarray[ia][ja];
+ if (ja == columna2 - 1)
+ cout << endl;
+ }
+
+ return 0;
}
-int MultiplyMatrix(int& row1,int& column1,int& row2,int& column2,int& i,int& j,int& k)
+int MultiplyMatrix(int& row1, int& column1, int& row2, int& column2, int& i, int& j, int& k)
{
- int array1[10][10];
- int array2[10][10];
- int multipliedarray[10][10];
-
- //Asking for how many rows and columns for the matrix. I know it's supposed to be a 3 x 3 but I made it to fit however many the user wants
- cout << "Enter rows and columns for first matrix: ";
- cin >> row1 >> column1;
- cout << "\nEnter rows and columns for second matrix: ";
- cin >> row2 >> column2;
-
- // If column of first matrix in not equal to row of second matrix,
- // ask the user to enter the size of matrix again.
- while (column1 != row2)
- {
- cout << "Error! column of first matrix not equal to row of second.";
-
- cout << "Enter rows and columns for first matrix: ";
- cin >> row1 >> column1;
-
- cout << "Enter rows and columns for second matrix: ";
- cin >> row2 >> column2;
- }
-
- // Storing elements of first matrix.
- cout << endl << "Enter elements of matrix 1:" << endl;
- for (i = 0; i < row1; ++i)
- for (j = 0; j < column1; ++j)
- {
- cout << "Enter element a" << i + 1 << j + 1 << " : ";
- cin >> array1[i][j];
- }
-
- // Storing elements of second matrix.
- cout << endl << "Enter elements of matrix 2:" << endl;
- for (i = 0; i < row2; ++i)
- for (j = 0; j < column2; ++j)
- {
- cout << "Enter element b" << i + 1 << j + 1 << " : ";
- cin >> array2[i][j];
- }
-
- // Initializing elements of matrix mult to 0.
- for (i = 0; i < row1; ++i)
- for (j = 0; j < column2; ++j)
- {
- multipliedarray[i][j] = 0;
- }
-
- // Multiplying matrix a and b and storing in array mult.
- for (i = 0; i < row1; ++i)
- for (j = 0; j < column2; ++j)
- for (k = 0; k < column1; ++k)
- {
- multipliedarray[i][j] += array1[i][k] * array2[k][j];
- }
- //Displaying the numbers of matrix a inputted by user
- cout << endl << "Input numbers from array 1: \n" << endl;
- for (i = 0; i < row1; ++i)
- for (j = 0; j < column2; ++j)
- {
- cout << " " << array1[i][j];
- if (j == column2 - 1)
- cout << endl;
- }
-
- //Displaying the numbers of matrix b inputted by user
- cout << endl << "Input numbers from array 2: \n" << endl;
- for (i = 0; i < row1; ++i)
- for (j = 0; j < column2; ++j)
- {
- cout << " " << array2[i][j];
- if (j == column2 - 1)
- cout << endl;
- }
-
- // Displaying the multiplication of two matrix.
- cout << endl << "Output Matrix: " << endl;
- for (i = 0; i < row1; ++i)
- for (j = 0; j < column2; ++j)
- {
- cout << " " << multipliedarray[i][j];
- if (j == column2 - 1)
- cout << endl;
- }
-
- return 0;
+ int array1[10][10];
+ int array2[10][10];
+ int multipliedarray[10][10];
+
+ //Asking for how many rows and columns for the matrix. I know it's supposed to be a 3 x 3 but I made it to fit however many the user wants
+ cout << "Enter rows and columns for first matrix: ";
+ cin >> row1 >> column1;
+ cout << "\nEnter rows and columns for second matrix: ";
+ cin >> row2 >> column2;
+
+ // If column of first matrix in not equal to row of second matrix,
+ // ask the user to enter the size of matrix again.
+ while (column1 != row2)
+ {
+ cout << "Error! column of first matrix not equal to row of second.";
+
+ cout << "Enter rows and columns for first matrix: ";
+ cin >> row1 >> column1;
+
+ cout << "Enter rows and columns for second matrix: ";
+ cin >> row2 >> column2;
+ }
+
+ // Storing elements of first matrix.
+ cout << endl << "Enter elements of matrix 1:" << endl;
+ for (i = 0; i < row1; ++i)
+ for (j = 0; j < column1; ++j)
+ {
+ cout << "Enter element a" << i + 1 << j + 1 << " : ";
+ cin >> array1[i][j];
+ }
+
+ // Storing elements of second matrix.
+ cout << endl << "Enter elements of matrix 2:" << endl;
+ for (i = 0; i < row2; ++i)
+ for (j = 0; j < column2; ++j)
+ {
+ cout << "Enter element b" << i + 1 << j + 1 << " : ";
+ cin >> array2[i][j];
+ }
+
+ // Initializing elements of matrix mult to 0.
+ for (i = 0; i < row1; ++i)
+ for (j = 0; j < column2; ++j)
+ {
+ multipliedarray[i][j] = 0;
+ }
+
+ // Multiplying matrix a and b and storing in array mult.
+ for (i = 0; i < row1; ++i)
+ for (j = 0; j < column2; ++j)
+ for (k = 0; k < column1; ++k)
+ {
+ multipliedarray[i][j] += array1[i][k] * array2[k][j];
+ }
+ //Displaying the numbers of matrix a inputted by user
+ cout << endl << "Input numbers from array 1: \n" << endl;
+ for (i = 0; i < row1; ++i)
+ for (j = 0; j < column2; ++j)
+ {
+ cout << " " << array1[i][j];
+ if (j == column2 - 1)
+ cout << endl;
+ }
+
+ //Displaying the numbers of matrix b inputted by user
+ cout << endl << "Input numbers from array 2: \n" << endl;
+ for (i = 0; i < row1; ++i)
+ for (j = 0; j < column2; ++j)
+ {
+ cout << " " << array2[i][j];
+ if (j == column2 - 1)
+ cout << endl;
+ }
+
+ // Displaying the multiplication of two matrix.
+ cout << endl << "Output Matrix: " << endl;
+ for (i = 0; i < row1; ++i)
+ for (j = 0; j < column2; ++j)
+ {
+ cout << " " << multipliedarray[i][j];
+ if (j == column2 - 1)
+ cout << endl;
+ }
+
+ return 0;
}