ให้เมทริกซ์สองตัว MAT1[row][column] และ MAT2[row][column] เราต้องหาความแตกต่างระหว่างเมทริกซ์สองตัวและพิมพ์ผลลัพธ์ที่ได้หลังจากลบเมทริกซ์สองตัว การลบเมทริกซ์สองตัวคือ MAT1[n][m] – MAT2[n][m].

สำหรับการลบ จำนวนแถวและคอลัมน์ของเมทริกซ์ทั้งสองควรเท่ากัน
ตัวอย่าง
Input:
MAT1[N][N] = { {1, 2, 3},
{4, 5, 6},
{7, 8, 9}}
MAT2[N][N] = { {9, 8, 7},
{6, 5, 4},
{3, 2, 1}}
Output:
-8 -6 -4
-2 0 2
4 6 8 แนวทางที่ใช้ด้านล่างมีดังนี้ −
เราจะวนซ้ำทั้งเมทริกซ์สำหรับทุกแถวและทุกคอลัมน์ และลบค่าของ mat2[][] จาก mat1[][] และเก็บผลลัพธ์ไว้ในผลลัพธ์[][] โดยที่แถวและคอลัมน์ยังคงเหมือนเดิมสำหรับเมทริกซ์ทั้งหมดพี>
อัลกอริทึม
In fucntion void subtract(int MAT1[][N], int MAT2[][N], int RESULT[][N]) Step 1-> Declare 2 integers i, j Step 2-> Loop For i = 0 and i < N and i++ Loop For j = 0 and j < N and j++ Set RESULT[i][j] as MAT1[i][j] - MAT2[i][j] In function int main() Step 1-> Declare a matrix MAT1[N][N] and MAT2[N][N] Step 2-> Call function subtract(MAT1, MAT2, RESULT); Step 3-> Print the result
ตัวอย่าง
#include <stdio.h>
#define N 3
// This function subtracts MAT2[][] from MAT1[][], and stores
// the result in RESULT[][]
void subtract(int MAT1[][N], int MAT2[][N], int RESULT[][N]) {
int i, j;
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
RESULT[i][j] = MAT1[i][j] - MAT2[i][j];
}
int main() {
int MAT1[N][N] = { {1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int MAT2[N][N] = { {9, 8, 7},
{6, 5, 4},
{3, 2, 1}
};
int RESULT[N][N]; // To store result
int i, j;
subtract(MAT1, MAT2, RESULT);
printf("Resultant matrix is \n");
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++)
printf("%d ", RESULT[i][j]);
printf("\n");
}
return 0;
} ผลลัพธ์
หากรันโค้ดด้านบน มันจะสร้างผลลัพธ์ต่อไปนี้ -
Resultant matrix is -8 -6 -4 -2 0 2 4 6 8