ホームページ  >  記事  >  バックエンド開発  >  行列減算用の C プログラム

行列減算用の C プログラム

PHPz
PHPz転載
2023-08-29 16:53:04976ブラウズ

2 つの行列 MAT1[row][column] と MAT2[row][column] が与えられた場合、2 つの行列の差を求め、2 つの行列を減算した後に得られる結果を出力する必要があります。 2 つの行列は 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[][] に格納します。ここで、すべての行列の行と列は同じままです。

アルゴリズム

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

出力

上記のコードを実行すると、次の出力が生成されます。 -

rreeee

以上が行列減算用の C プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。