配列の初期化 - ページ 3 1234 新しいコメント Ian Venner 2014.03.23 04:35 #21 MetaNt: これは行列を連想させる... 注文の配列は、0=買い、1=売りのようです。 とありますが、これはどのように初期化すればよいのでしょうか? OrdersArray[10,2] = {.........}{.........} となります。? 行列と全く同じだと思います。 中括弧1つで初期化し、配列に入るだけの値、または配列全体に対して1つの値だけを指定し、後で実際の値を追加するのです。 注文を扱う場合、ordertypesはこれらの整数値であるため、buyとsellは0と1であると言いました。 ほとんどの場合、配列全体をひとつの値で初期化し、後から値を追加していくのが最も簡単な方法です(初期化が必要なため)。 ordersarray[10,2] = {0} となります。 配列でforループを使用すると、すべてが意味をなすようになります。 Luciano Ola 2014.03.23 04:57 #22 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 になっています。 Luciano Ola 2014.03.23 04:57 #23 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 になっています。 Keith Watford 2014.03.23 05:09 #24 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 Ian Venner 2014.03.23 05:15 #25 MetaNt: 気がついたこと Myarray [3][4]は多次元ですが、以下のように見えます。 Myarray [3][4] = {x,y,z} となります。 つまり、Myarray [2,0]=z ですが、Myarray [2,1]=0 と Myarray[0,2]=z になっています。 はい,この方法で配列を埋 めると,最初の次元から順番に埋まっていきます. Luciano Ola 2014.03.23 05:28 #26 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を使うのでしょうか? Ian Venner 2014.03.23 05:29 #27 であるため、この順序で埋める必要があります。 [0,0] [0,1] [0,2] [0,3] そして [1,0] [1,1] [1,2] [1,3] 次に [2,0] [2,1] [2,2] [2,3] Ian Venner 2014.03.23 05:32 #28 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 番目の配列に値を追加します。 } Ian Venner 2014.03.23 05:40 #29 他の方法として for(i=0; i<2; i++) {myarray[0,i] = ? } Luciano Ola 2014.03.23 06:24 #30 SDC: 他の方法として for(i=0; i<2; i++) {myarray[0,i] = ? } 誤解を解いていただきありがとうございます!確かにマトリクスに似ている気がします。 1234 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
これは行列を連想させる...
注文の配列は、0=買い、1=売りのようです。
とありますが、これはどのように初期化すればよいのでしょうか?
OrdersArray[10,2] = {.........}{.........} となります。?
行列と全く同じだと思います。
中括弧1つで初期化し、配列に入るだけの値、または配列全体に対して1つの値だけを指定し、後で実際の値を追加するのです。
注文を扱う場合、ordertypesはこれらの整数値であるため、buyとsellは0と1であると言いました。
ほとんどの場合、配列全体をひとつの値で初期化し、後から値を追加していくのが最も簡単な方法です(初期化が必要なため)。
ordersarray[10,2] = {0} となります。
配列でforループを使用すると、すべてが意味をなすようになります。
まさに行列のようなものだと思います
中括弧を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 になっています。
まさに行列のようなものだと思います
中括弧を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 になっています。
「初期化シーケンスでは、1つまたは複数の定数が省略されることがあります。このような場合、数値型の配列要素はゼロで初期化され、文字列型の配列要素は文字列値 "" (スペースなしの引用符)、すなわち空白行(スペースと混同してはいけません)で初期 化されます。"
と言って、このような例を示しています。
という意味だったのでしょう。
そう、最初の例では、Mas_s[2]は0に初期化されるのです。
結果
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
気がついたこと
Myarray [3][4]は多次元ですが、以下のように見えます。
Myarray [3][4] = {x,y,z} となります。
つまり、Myarray [2,0]=z ですが、Myarray [2,1]=0 と Myarray[0,2]=z になっています。
はい、この方法で配列を埋めると、最初の次元から順番に埋まっていきます。
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]
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] = ?
}
他の方法として
for(i=0; i<2; i++)
{myarray[0,i] = ?
}
誤解を解いていただきありがとうございます!確かにマトリクスに似ている気がします。