配列の初期化 - ページ 4

 
SDC:

であるため、この順序で埋める必要があります。

[0,0]

[0,1]

[0,2]

[0,3]

そして

[1,0]

[1,1]

[1,2]

[1,3]

次に

[2,0]

[2,1]

[2,2]

[2,3]


なるほど、しかし初期化が一次元である以上、3つ目と2つ目のセットはどうすれば有効になるのでしょうか?
 

待つ

int Mas_i[3][4] = { 0, 1, 2, 3,   10, 11, 12, 13,   20, 21, 22, 23 };

は集合の数を表し、4は集合内の異なる数の数を表すのでしょうか?

{(w,x,y,z) (a,b,c,d) (i,j,k,l)}.

 

そうです、初期化で配列を埋めるときの寸法です、3セット×4です。

うーん、もう遅いし、疲れてきたけど......。

もし、ループを使用してそれを埋めるなら、それは最初の4つのセットでしょう?

int myarray[3,4]={0};

for(int i=0; i<4; i++)
{
myarray[i,0] = i;
}

これは4つのうちの最初のセットになりますね?でもそんなことはできません。私ならループの中で配列を逆に埋めて、3つのセットを4つ作ります...10枚のチケット用の[10,2]配列のように...よし、もう寝ないと、これ以上考えられません(笑)

Edit: 初期化シーケンスは配列 [0,i] [1,i] [2,i] を埋めます...ちょっと考えてしまいました(笑)...だから本当に私は [10,2] という悪い癖があります...初期化がそうするように、10枚用の [2,10] 配列にする必要がありますね。

 
やっとわかったんだ。
 

配列の初期化についてまだ何かあると思うのですが・・・初期化の順序が私が考えていたものと違います・・・ [10,2] という配列は、例えば10枚の注文チケットと それぞれのチケットに対応するタイプのように、対応する10個の値の2セットを扱うには正しい方法です。

ループで入力するような方法は,次のようになります.

for(i=0; i<10; i++)
{
 MyArray[i,0] = ticket[i];  
 MyArray[i,1] = type[i];
}

10枚のチケットを1番目の次元に入れ、2番目の次元に型を入れます。

そして、2番目のループ [i,1] を実行して、型を入力します。

しかし,初期化シーケンスで1つずつ入力するとなると, ticket type ticket type ... としなければなりません.

MyArray[10,2] = {ticket1, type1, ticket2, type2, ticket3, type3 etc ...

というのは、初期化シーケンスが

MyArray[0,0]

MyArray[0,1]

MyArray[1,0]

MyArray[1,1]

MyArray[2,0]

MyArray[2,1] マイアレイ[2,0] マイアレイ[2,1

などなど・・・。

昨夜は疲れていて、そんなこと考えている場合じゃなかったと思う(笑) ...

あるいは.

2,10]の配列を使うこともできます。

この場合、チケットの入力はforループで逆に行われます。

for(i=0; i<10; i++)
{
MyArray[0,i} = ticket[i];
MyArray[1,i] = type[i];
}
今回の初期化は、チケットチケットチケットチケットなど......タイプタイプタイプタイプ......などとなります。

配列は次のようになります。

MyArray[0,0]

MyArray[0,1]

MyArray[0,2]

MyArray[0,3]などから[0,9]までは

次に

MyArray[1,0]

MyArray[1,1]です。

MyArray[1,2]など ....