Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C/C++における4次元配列の使い方を徹底解説

4次元配列とは、3次元配列を要素として持つ配列のことです。イメージとしては「配列の配列の配列の配列」となり、データを4つのインデックスで階層的に管理できる構造です。

4次元配列とは

2次元配列が表(行と列)を表すように、3次元配列は立方体のような構造を表現できます。さらにその3次元配列を複数まとめたものが4次元配列です。例えば、int a[2][2][3][2];と宣言した場合、全体で 2 × 2 × 3 × 2 = 24個のint型要素を持つ配列となります。

アルゴリズム

4次元配列に値を入力し、表示するまでの基本的な流れは以下の通りです。

開始。
   変数を宣言する。
   配列要素を宣言する。
   要素の個数(各次元のサイズ)を決める。
   各要素の値を入力する。
   配列に格納された要素を表示する。
終了。

サンプルコード

以下は、C++で4次元配列を使用した具体例です。4重のforループを使って要素の入力と出力を行っています。

#include<iostream>
using namespace std;
int main() {
   int a[2][2][3][2];
   cout << "配列の要素を入力してください: \n";
   for(int i = 0; i < 2; ++i) {
      for (int j = 0; j < 2; ++j) {
         for(int k = 0; k < 3; ++k ) {
            for(int l = 0; l < 2; ++l ) {
               cin >> a[i][j][k][l];
            }
         }
      }
   }
   cout<<"\n配列に格納された要素は以下の通りです:"<<endl;
   for(int i = 0; i < 2; ++i) {
      for (int j = 0; j < 2; ++j) {
         for(int k = 0; k < 3; ++k) {
            for(int l = 0; l < 2; ++l) {
               cout << "a[" << i << "][" << j << "][" << k << "][" <<l<<"]= " << a[i][j][k][l] << endl;
            }
         }
      }
   }
   return 0;
}

実行結果

上記プログラムを実行すると、24個の値を順番に入力し、それぞれのインデックスに対応する形で出力されます。

配列の要素を入力してください:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

配列に格納された要素は以下の通りです:
a[0][0][0][0]= 1
a[0][0][0][1]= 2
a[0][0][1][0]= 3
a[0][0][1][1]= 4
a[0][0][2][0]= 5
a[0][0][2][1]= 6
a[0][1][0][0]= 7
a[0][1][0][1]= 8
a[0][1][1][0]= 9
a[0][1][1][1]= 10
a[0][1][2][0]= 11
a[0][1][2][1]= 12
a[1][0][0][0]= 13
a[1][0][0][1]= 14
a[1][0][1][0]= 15
a[1][0][1][1]= 16
a[1][0][2][0]= 17
a[1][0][2][1]= 18
a[1][1][0][0]= 19
a[1][1][0][1]= 20
a[1][1][1][0]= 21
a[1][1][1][1]= 22
a[1][1][2][0]= 23
a[1][1][2][1]= 24

まとめ

4次元配列は、多次元データを扱う際に便利な構造です。ただし、次元が増えるほど必要なメモリ量は急激に増加するため、実際の開発では用途に応じて適切な次元数を選択することが重要です。また、アクセスには次元の数だけループが必要になるため、コードの可読性にも注意しましょう。

  1. 【初心者向け】C/C++における多次元配列の初期化方法をわかりやすく解説

    多次元配列とは、次元数が2以上ある配列のことです。本記事では、3×3×3の多次元配列におけるメモリ割り当ての仕組みと、実際に配列を初期化して内容を表示するC++プログラムを紹介します。下図は、次元が3×3×3の多次元配列に対するメモリ割り当ての戦略を示したものです。アルゴリズム多次元配列を初期化するプログラムは、以下の手順で構成されます。Begin 多次元配列の要素を初期化する 配列のサイズを出力する 配列の内容を表示する Endサンプルコード以下は、2行2列の二次元配列を初期化し、そのサイズと内容を出力するC++プログラムです。#include<iostream

  2. C#の多次元配列とは?2次元配列の宣言方法と使い方を実例付きで解説

    C#では、多次元配列を扱うことができます。int型の2次元配列は、次のように宣言します。int[] a;多次元配列の中で最もシンプルな形式が2次元配列です。2次元配列とは、1次元配列を要素として持つ配列、すなわち「配列の配列」のような構造をイメージすると分かりやすいでしょう。例えば、次の図は3行4列の2次元配列を表しています。多次元配列の使用例ここからは、実際にC#で多次元配列を操作するサンプルコードを見ていきましょう。以下の例では、5行2列の2次元配列を宣言・初期化し、入れ子になったforループですべての要素を出力します。using System; namespace ArrayApplic