行列の加算と減算は、同じ次元の2つの行列を要素ごとに足し合わせるか引き算することです。行列の各要素は、対応する位置の要素同士を加算または減算します。
以下に、行列の加算と減算の方法を示します。
#include <stdio.h>
#define ROWS 3
#define COLS 3
void addMatrices(int matrix1[][COLS], int matrix2[][COLS], int result[][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
result[i][j] = matrix1[i][j] + matrix2[i][j];
}
}
}
void subtractMatrices(int matrix1[][COLS], int matrix2[][COLS], int result[][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
result[i][j] = matrix1[i][j] - matrix2[i][j];
}
}
}
void printMatrix(int matrix[][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int matrix1[ROWS][COLS] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int matrix2[ROWS][COLS] = {{9, 8, 7}, {6, 5, 4}, {3, 2, 1}};
int result[ROWS][COLS];
printf("Matrix 1:\n");
printMatrix(matrix1);
printf("Matrix 2:\n");
printMatrix(matrix2);
printf("Addition Result:\n");
addMatrices(matrix1, matrix2, result);
printMatrix(result);
printf("Subtraction Result:\n");
subtractMatrices(matrix1, matrix2, result);
printMatrix(result);
return 0;
}
このプログラムでは、addMatrices
関数とsubtractMatrices
関数が定義されています。これらの関数は、与えられた2つの行列を加算または減算し、結果をresult
行列に格納します。printMatrix
関数は、行列を出力するために使用されます。
main
関数では、2つの行列を定義し、それぞれの内容を表示します。そして、addMatrices
関数とsubtractMatrices
関数を使用して行列の加算と減算を行い、結果を表示します。
このプログラムをコンパイルして実行すると、2つの行列の加算と減算の結果が表示されます。
以上が、C言語での行列の加算と減算のシンプルな方法です。このコード例を参考にして、自分自身でさまざまな行列の加算と減算を試してみてください。