【C言語】2重ループの使い方についてわかりやすく詳しく解説

目次から探す

2重ループの応用例

2重ループは、プログラミングにおいて非常に便利な機能です。

ここでは、2重ループの応用例について紹介します。

行列の操作

行列は、数値の2次元配列として表現されます。

2重ループを使用することで、行列の要素を操作することができます。

例えば、2つの行列を足し合わせる場合、以下のようなコードを書くことができます。


#include <stdio.h>
#define ROWS 3
#define COLS 3
void addMatrix(int matrix1[ROWS][COLS], int matrix2[ROWS][COLS], int result[ROWS][COLS]) {
    for (int i = 0; i < ROWS; i++) {
        for (int j = 0; j < COLS; j++) {
            result[i][j] = matrix1[i][j] + matrix2[i][j];
        }
    }
}
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];
    addMatrix(matrix1, matrix2, result);
    printf("Result:\n");
    for (int i = 0; i < ROWS; i++) {
        for (int j = 0; j < COLS; j++) {
            printf("%d ", result[i][j]);
        }
        printf("\n");
    }
    return 0;
}

上記のコードでは、addMatrix関数を定義し、2重ループを使用して2つの行列を足し合わせています。

結果はresult配列に格納され、その後、結果を表示しています。

パターンの生成

2重ループを使用することで、さまざまなパターンを生成することができます。

例えば、以下のようなコードを書くことで、99の表を生成することができます。


#include <stdio.h>
int main() {
    for (int i = 1; i <= 9; i++) {
        for (int j = 1; j <= 9; j++) {
            printf("%d x %d = %d\n", i, j, i * j);
        }
        printf("\n");
    }
    return 0;
}

上記のコードでは、2重ループを使用して、1から9までの数値を掛け合わせた99の表を生成しています。

データの集計

2重ループを使用することで、データの集計を行うことができます。

例えば、以下のようなコードを書くことで、配列内の要素の合計を計算することができます。


#include <stdio.h>
#define SIZE 5
int main() {
    int numbers[SIZE] = {1, 2, 3, 4, 5};
    int sum = 0;
    for (int i = 0; i < SIZE; i++) {
        sum += numbers[i];
    }
    printf("Sum: %d\n", sum);
    return 0;
}

上記のコードでは、2重ループを使用せずに単純なループを使用していますが、同様の結果を得ることができます。

配列内の要素を順番に取り出し、合計に加算していくことで、要素の合計を計算しています。

以上が、2重ループの応用例の一部です。

2重ループは、プログラミングにおいて非常に重要な機能であり、様々な応用が可能です。

ぜひ、自分のプログラムにも2重ループを活用してみてください。

1 2 3
目次から探す