C言語での行列の加算と減算の方法


行列の加算と減算は、同じ次元の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言語での行列の加算と減算のシンプルな方法です。このコード例を参考にして、自分自身でさまざまな行列の加算と減算を試してみてください。