Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,938 questions

51,875 answers

573 users

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 92 views
1 answer 90 views
1 answer 114 views
1 answer 113 views
1 answer 110 views
1 answer 94 views
1 answer 99 views
...