59.2k views
1 vote
Write a program that reads two matrices of integers. It then generates the sum, difference and product of the two matrices.

The sum of the two matrices of the same size is a matrix with elements that are the sums of the corresponding elements of the two given matrices. Addition is not defined for matrices of different sizes.

If A and B are matrices of the same size, then we define subtraction as follows: A – B = A + (-B). Thus, to subtract matrix B from matrix A, we simply subtract corresponding elements.

To multiply a matrix by another matrix we need to do the "dot product" of rows and columns. The "Dot Product" is where we multiply matching members, then sum up:

(1, 2, 3) • (7, 9, 11) = 1×7 + 2×9 + 3×11 = 58

We match the 1st members (1 and 7), multiply them, likewise for the 2nd members (2 and 9) and the 3rd members (3 and 11), and finally sum them up.

Use the following definitions:

#define ROW 6

#define COL 6

void add(int matrixResult[][COL],int matrixA[][COL],int matrixB[][COL],int row,int col);

- sum of matrixA and matrixB is assigned to matrixResult

void subtract(int matrixResult[][COL],int matrixA[][COL],int matrixB[][COL],int row,int col);

- difference of matrixA and matrixB is assigned to matrixResult

void multiply(int matrixResult[][COL],int matrixA[][COL],int matrixB[][COL],int row,int col);

- product of matrixA and matrixB is assigned to matrixResult

Note: You may initialize the two matrices during declaration. Make sure to test the functions inside main().

User Alfergon
by
8.4k points

1 Answer

4 votes

Final answer:

Matrix operations involve addition, subtraction, and multiplication, each following specific rules. Addition and subtraction require matrices of the same size, and multiplication uses the dot product of the rows from the first matrix with the columns of the second.

Step-by-step explanation:

When working with matrices, we can perform various operations such as addition, subtraction, and multiplication. Each of these operations has specific rules that must be followed to obtain the correct result. It's important to note that matrix addition and subtraction can only be done if the two matrices are of the same size, whereas matrix multiplication requires the number of columns in the first matrix to match the number of rows in the second matrix.

The dot product plays an essential role in matrix multiplication. The dot product is the sum of the products of corresponding elements in the two sequences of numbers that comprise the vectors. In the context of matrices, when we multiply two matrices, we take the dot product of the rows of the first matrix with the columns of the second matrix to fill the resulting matrix.


Here's how the functions can be implemented to handle these operations:

To add two matrices:

void add(int matrixResult[][COL],int matrixA[][COL],int matrixB[][COL],int row,int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
matrixResult[i][j] = matrixA[i][j] + matrixB[i][j];
}
}
}

To subtract one matrix from another:

void subtract(int matrixResult[][COL],int matrixA[][COL],int matrixB[][COL],int row,int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
matrixResult[i][j] = matrixA[i][j] - matrixB[i][j];
}
}
}

To find the product of two matrices:

void multiply(int matrixResult[][COL],int matrixA[][COL],int matrixB[][COL],int row,int col) {
for(int i = 0; i < row; i++) {
for(int j = 0; j < col; j++) {
matrixResult[i][j] = 0;
for(int k = 0; k < col; k++) {
matrixResult[i][j] += matrixA[i][k] * matrixB[k][j];
}
}
}
}
User Harshal Deore
by
8.4k points