首頁 > 後端開發 > C++ > 主體

C程式用於矩陣相減

PHPz
發布: 2023-08-29 16:53:04
轉載
1028 人瀏覽過

給定兩個矩陣 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[][] 中,其中所有矩陣的行和列保持相同。

演算法

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;
}
登入後複製

輸出

如果執行上面的程式碼,它將產生下列輸出-

Resultant matrix is
-8 -6 -4
-2  0  2
 4  6  8
登入後複製

以上是C程式用於矩陣相減的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板