配列の初期化 - ページ 3

 
MetaNt:


これは行列を連想させる...

注文の配列は、0=買い、1=売りのようです。

とありますが、これはどのように初期化すればよいのでしょうか?

OrdersArray[10,2] = {.........}{.........} となります。?

行列と全く同じだと思います。

中括弧1つで初期化し、配列に入るだけの値、または配列全体に対して1つの値だけを指定し、後で実際の値を追加するのです。

注文を扱う場合、ordertypesはこれらの整数値であるため、buyとsellは0と1であると言いました。

ほとんどの場合、配列全体をひとつの値で初期化し、後から値を追加していくのが最も簡単な方法です(初期化が必要なため)。

ordersarray[10,2] = {0} となります。

配列でforループを使用すると、すべてが意味をなすようになります。

 
SDC:

まさに行列のようなものだと思います

中括弧を1つだけ使って、配列に入るだけの値、あるいは配列全体に対して1つの値で初期化し、後で実際の値を追加します。

注文を扱う場合、ordertypesはこれらの整数値であるため、buyとsellは0と1であると言いました。

ほとんどの場合、配列全体をひとつの値で初期化し、後から値を追加していくのが最も簡単な方法です(初期化が必要なため)。

ordersarray[10,2] = {0} となります。

配列でforループを使用する場合、すべてが意味をなします。


気づいたことがある

Myarray [3][4]は多次元ですが、見てください。

Myarray [3][4] = {x,y,z} となります。

つまり、Myarray [2,0]=z ですが、Myarray [2,1]=0 と Myarray[0,2]=z になっています。

 
SDC:

まさに行列のようなものだと思います

中括弧を1つだけ使って、配列に入るだけの値、あるいは配列全体に対して1つの値で初期化し、後で実際の値を追加します。

注文を扱う場合、ordertypesはこれらの整数値であるため、buyとsellは0と1であると言いました。

ほとんどの場合、配列全体をひとつの値で初期化し、後から値を追加していくのが最も簡単な方法です(初期化が必要なため)。

ordersarray[10,2] = {0} となります。

配列でforループを使用する場合、すべてが意味をなします。


気づいたことがある

Myarray [3][4]は多次元ですが、見てください。

Myarray [3][4] = {x,y,z} となります。

つまり、Myarray [2,0]=z ですが、Myarray [2,1]=0 と Myarray[0,2]=z になっています。

 
SDC:

「初期化シーケンスでは、1つまたは複数の定数が省略されることがあります。このような場合、数値型の配列要素はゼロで初期化され、文字列型の配列要素は文字列値 "" (スペースなしの引用符)、すなわち空白行(スペースと混同してはいけません)で初期 化されます。"

と言って、このような例を示しています。

string Mas_s[4] = {"a","b", ,"d"};           // String array

という意味だったのでしょう。

string Mas_s[4] = {"a","b","","d"};           // String array

そう、最初の例では、Mas_s[2]は0に初期化されるのです。

      string A[4] = {"a","b", ,"d"};
      string letters = "Array A =";           
      for(int x = 0;x<4;x++)
      letters +=A[x];
      Print(letters);
      
      string B[4] = {"a","b","" ,"d"};
      letters = "Array B =";           
      for(x = 0;x<4;x++)
      letters +=B[x];
      Print(letters);
      
      string C[4] = {"a","b"," " ,"d"};
      letters = "Array C =";           
      for(x = 0;x<4;x++)
      letters +=C[x];
      Print(letters);

結果


13:03:01 aaa CADJPY,H1: 配列A =ab0d

13:03:01 aaa CADJPY,H1: 配列B =abd

13:03:01 aaa CADJPY,H1: 配列C =ab d

 
MetaNt:


気がついたこと

Myarray [3][4]は多次元ですが、以下のように見えます。

Myarray [3][4] = {x,y,z} となります。

つまり、Myarray [2,0]=z ですが、Myarray [2,1]=0 と Myarray[0,2]=z になっています。

はい,この方法で配列を埋 めると,最初の次元から順番に埋まっていきます.
 
SDC:
はい、この方法で配列を埋めると、最初の次元から順番に埋まっていきます。


int myarray[2][2] = {1,2}とすると

myarray[0,0]=1です。

myarray[1,0]=2

myarray[0,0]=1、myarray[1,1]=2

配列[0,1]=2

をループで実行させるにはどうしたらいいでしょうか?

配列のサイズに応じた制限のある変数iとjを使うのでしょうか?

 

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

[0,0]

[0,1]

[0,2]

[0,3]

そして

[1,0]

[1,1]

[1,2]

[1,3]

次に

[2,0]

[2,1]

[2,2]

[2,3]

 
MetaNt:


int myarray[2][2] = {1,2}とすると

myarray[0,0]=1です。

myarray[1,0]=2

myarray[0,0]=1、myarray[1,1]=2

配列[0,1]=2

をループで実行させるにはどうしたらいいでしょうか?

配列のサイズに応じた制限のある変数iとjを使用するのですか?

はい、次元定数を変数で置き換えることができます。

for(int i=0; i<2, i++)

{myarray[i,0] = ?// 1 番目の配列に値を追加します。

}

 

他の方法として

for(i=0; i<2; i++)

{myarray[0,i] = ?

}

 
SDC:

他の方法として

for(i=0; i<2; i++)

{myarray[0,i] = ?

}


誤解を解いていただきありがとうございます!確かにマトリクスに似ている気がします。