multidimensional arrays c
例を挙げたC ++での多次元配列の役割。
これまで、以前のチュートリアルでは、1次元配列についてすべて見てきました。
C ++は、複数の次元を持つ配列もサポートしています。これらは多次元配列と呼ばれます。多次元配列は通常、表形式、つまり行優先の順序で配置されます。
=> ここでC ++トレーニングシリーズ全体を探してください。
学習内容:
C ++の多次元配列
次元3×2、つまり3行2列の多次元配列について考えてみます。
この配列を次のように表します。
R1c1 | R2c2 |
R2c1 | R2c2 |
R3c1 | R3c2 |
上記の表現に示されているように、各セル 例えば。 R1C1は配列の内容を保持します。
多次元配列に存在する要素の数は、その次元の積です。これは、配列の次元が3×2の場合、その配列の要素数は3と2の積、つまり6であることを意味します。同様に、多次元配列の次元が(10) (20) (10)の場合その場合、その配列の要素数は10 * 20 * 10 = 2000です。
2次元配列は、C ++で使用される多次元配列の最も単純な形式です。
配列の宣言
C ++での多次元配列の一般的な宣言を以下に示します。
dataType arrayName (size1)(size2)….(sizen);
ここで、dataTypeは配列のデータ型です。データ型はC ++でサポートされている必要があります。
arrayNameは、多次元配列の名前です。
Size1、size2….sizenは、各配列次元のサイズです。
例えば、サイズ3×2の配列、つまり2次元配列myarray_2dを宣言しましょう。
int myarray_2d (3)(2);
2次元配列は、行と列の形式で表されます。
したがって、上記の配列の宣言は次のように表すことができます。
myarray_2d (0) (0) | myarray_2d (0) (1) |
myarray_2d (1) (0) | myarray_2d (1) (1) |
myarray_2d (2) (0) | myarray_2d (2) (1) |
上記の表現に示されているように、2次元配列の各要素はmyarray_2d (i) (j)としてアクセスされます。ここで、iは行番号で、範囲は0からn-1です。nは次元サイズ、jは次元サイズです。列番号。範囲は0からm-1です。ここで、mは列の次元サイズです。
多次元配列の初期化
1次元配列と同様に多次元配列を初期化できます。多次元配列は行ごとに初期化されます。
多次元配列を初期化する方法は2つあります。
#1)myarrayという名前の次元(3) (2)の配列を考えてみましょう。
int myarray(3)(2) = {1, 2,3,4,5,6};
ここで、配列の初期化は、行ごとに左から右に行われます。次元は(3) (2)であるため、最初の2つの要素が最初の行を形成します。
この初期化の図解は、次のようになります。
1 | 二 |
3 | 4 |
5 | 6 |
#2)上記と同じ配列は、以下に示す別の方法を使用して初期化できます。
int myarray(3)(2) = { {1,2}, {3,4}, {5,6} };
ここでは、初期化は左から右に行われ、各要素は1つの行に対応します。この配列には3つの行があるため、中括弧({})で囲まれた3つの内部要素があります。
この初期化方法は読みやすく、配列の次元が大きくなると有利です。
多次元配列へのアクセス
多次元配列要素には、行インデックスと列インデックスを使用してアクセスします。
見てみましょう 例 次元(3) (3)の2次元配列の。以下はそれを初期化するためのコードです。
int newarray (3)(3) = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
最初の行の2番目の要素にアクセスして整数変数に割り当てる場合、コード行は次のようになります。
int val_2d = newarray(0)(1);
以下は、2次元配列の宣言、初期化、およびアクセスを示すサンプルプログラムです。
#include using namespace std; int main() { int myarray(3)(3) = {{1,2,3},{4,5,6},{7,8,9}}; for(int i=0;i <3;i++) { for(int j=0;j<3;j++) { cout< このプログラムは、次の出力を生成します。
1 2 3 4 5 6 7 8 9
上記のプログラムに示されているように、2次元配列が宣言されてから初期化されます。次に、すべての配列要素にアクセスして出力するために、2つのforループを設定しました。外側のforループは、要素に行方向にアクセスすることです。内側のforループは、各列の要素にアクセスするためのカウンターとして機能します。
ネットワーク上にファイアウォールを設定する方法
このようにして、この2次元配列の各要素にアクセスし、画面に表示します。
結論
多次元配列は任意の数の次元を持つことができ、次元の数が増えると、それに応じて複雑さも増します。
上記のすべての例で2次元配列を使用しましたが、同様の方法でより高い次元の配列をコーディングできます。
=> 無料のC ++コースについては、ここをクリックしてください。
推奨読書