ได้รับเมทริกซ์สองอัน MAT1[row][col] และ MAT2[row][col] หาผลต่างและแสดงผล
เงื่อนไข: จำนวนแถวและคอลัมน์ของทั้งสองเมทริกซ์ต้องเท่ากัน
สูตร: RESULT[i][j] = MAT1[i][j] - MAT2[i][j]
ตัวอย่าง
MAT1 = {{1,2,3},{4,5,6},{7,8,9}}
MAT2 = {{9,8,7},{6,5,4},{3,2,1}}
Output:
-8 -6 -4
-2 0 2
4 6 8
แนวทาง
- วนลูปทุกแถวและคอลัมน์
- ลบค่า MAT2 จาก MAT1 เก็บใน RESULT
- พิมพ์ RESULT
อัลกอริทึม
ฟังก์ชัน subtract(MAT1[][N], MAT2[][N], RESULT[][N]):
for i = 0 ถึง N-1:
for j = 0 ถึง N-1:
RESULT[i][j] = MAT1[i][j] - MAT2[i][j]
main():
ประกาศ MAT1, MAT2, RESULT
เรียก subtract()
พิมพ์ RESULT
โค้ดตัวอย่าง
#include <stdio.h>
#define N 3
void subtract(int MAT1[][N], int MAT2[][N], int RESULT[][N]) {
for (int i = 0; i < N; i++)
for (int 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];
subtract(MAT1, MAT2, RESULT);
printf("Resultant matrix is \n");
for (int i = 0; i < N; i++) {
for (int 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