>  기사  >  백엔드 개발  >  행렬 빼기를 위한 C 프로그램

행렬 빼기를 위한 C 프로그램

PHPz
PHPz앞으로
2023-08-29 16:53:041008검색

두 개의 행렬 MAT1[행][열]과 MAT2[행][열]이 주어지면 두 행렬의 차이를 구하고 두 행렬을 뺀 결과를 인쇄해야 합니다. 두 행렬을 MAT1[n][m] – MAT2[n][m]으로 뺍니다.

행렬 빼기를 위한 C 프로그램

뺄셈을 하려면 두 행렬의 행과 열의 개수가 동일해야 합니다.

예제

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에 저장합니다. [][] 여기서 모든 행렬의 행과 열은 동일하게 유지됩니다.

Algorithm

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

Example

Live Demonstration

#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 </p><p>");
   for (i = 0; i < N; i++) {
      for (j = 0; j < N; j++)
      printf("%d ", RESULT[i][j]);
      printf("</p><p>");
   }
   return 0;
}

Output

위 코드를 실행하면 다음과 같은 출력이 생성됩니다. -

Resultant matrix is
-8 -6 -4
-2  0  2
 4  6  8

위 내용은 행렬 빼기를 위한 C 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제