두 개의 행렬 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
아래에 사용된 접근 방식은 다음과 같습니다. -
모든 행과 열에 대해 행렬을 반복하고 mat1[][]에서 mat2[][] 값을 빼고 결과를 result[][]에 저장합니다. 여기서 행과 열은 모든 행렬에 대해 동일하게 유지됩니다.피>
알고리즘
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