How to subtract two matrices (matrix) in C

2 Answers

0 votes
#include <stdio.h>

#define LEN 4
   
int main()
{
    int matrix1[][LEN] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 7, 6, 3 } };
	int matrix2[][LEN] = { { 1, 1, 1, 1 }, { 2, 2, 2, 2 }, { 3, 3, 3, 3 } };
    int sub[][LEN]     = { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } };
	
	int rows = sizeof(matrix1) / sizeof(matrix1[0]);
    int cols = sizeof(matrix1[0]) / sizeof(matrix1[0][0]);
  
    for (int i = 0; i < rows; i++)
        for (int j = 0; j < cols; j++)
            sub[i][j] = matrix1[i][j] - matrix2[i][j];
 
    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++)
            printf("%2d", sub[i][j]);
        printf("\n");
    }
     

        
    return 0;
}
   
   
   
/*
run:
   
 0 1 2 3
 3 4 5 6
 6 4 3 0
  
*/

 



answered Jul 6, 2020 by avibootz
edited Jul 7, 2020 by avibootz
0 votes
#include <stdio.h>

#define COLS 4

 void SubtractMatrices(int matrix1[][COLS], int matrix2[][COLS], int sub[][COLS], int rows, int cols) {
     for (int i = 0; i < rows; i++)
         for (int j = 0; j < cols; j++)
             sub[i][j] = matrix1[i][j] - matrix2[i][j];
}

int main()
{
    int matrix1[][COLS] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 7, 6, 3 } };
    int matrix2[][COLS] = { { 1, 1, 1, 1 }, { 2, 2, 2, 2 }, { 3, 3, 3, 3 } };
    int sub[][COLS] = { { 0, 0, 0, 0 }, { 0, 0, 0, 0 }, { 0, 0, 0, 0 } };

    int rows = sizeof(matrix1) / sizeof(matrix1[0]);
    int cols = sizeof(matrix1[0]) / sizeof(matrix1[0][0]);

    SubtractMatrices(matrix1, matrix2, sub, rows, cols);

    for (int i = 0; i < rows; i++) {
        for (int j = 0; j < cols; j++)
            printf("%2d", sub[i][j]);
        printf("\n");
    }

    return 0;
}




/*
run:

 0 1 2 3
 3 4 5 6
 6 4 3 0

*/



 



answered Oct 3, 2022 by avibootz

Related questions

1 answer 120 views
1 answer 117 views
1 answer 138 views
1 answer 137 views
1 answer 131 views
1 answer 120 views
1 answer 128 views
...