Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C ลบเมทริกซ์ (Matrix Subtraction)

ได้รับเมทริกซ์สองอัน 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