Инициализация массива - страница 3

 
MetaNt:


Это напоминает мне матрицы...

для массива orders вы сказали, что 0=покупка и 1=продажа.

так как мне его инициализировать?

OrdersArray[10,2] = {.......}{...} ?

Я думаю, что это точно так же, как матрицы.

Вы инициализируете его одним набором скобок и столькими значениями, сколько может поместиться в массив, или только одним значением для всего массива, а затем добавляете фактические значения позже.

Да, я сказал, что buy и sell - это 0 и 1, потому что когда вы работаете с ордерами, типы ордеров являются этими целочисленными значениями.

В большинстве случаев проще всего инициализировать весь массив одним значением (просто потому, что вам нужно его инициализировать), а затем добавить значения позже.

ordersarray[10,2] = {0};

Когда вы используете циклы for с массивами, все становится понятным.

 
SDC:

Я думаю, что это точно так же, как матрицы.

Вы инициализируете его одним набором скобок и таким количеством значений, сколько может поместиться в массив или только одно значение для всего массива, а затем добавляете фактические значения позже.

Да, я сказал, что buy и sell - это 0 и 1, потому что когда вы работаете с ордерами, типы ордеров являются этими целочисленными значениями.

В большинстве случаев проще всего инициализировать весь массив одним значением (просто потому, что вам нужно его инициализировать), а затем добавить значения позже.

ordersarray[10,2] = {0};

Когда вы будете использовать циклы for с массивами, все будет иметь смысл.


Я заметил кое-что

Myarray [3][4] является многомерным, но выглядит следующим образом

Myarray [3][4] = {x,y,z}

Он определен с использованием одномерной формы, то есть для одного из измерений допустимо только одно значение, хотя размер позволяет использовать 4, так что Myarray [2,0]=z, но Myarray[2,1] = 0 и Myarray[0,2] также = z.

 
SDC:

Я думаю, что это точно так же, как матрицы.

Вы инициализируете его одним набором скобок и таким количеством значений, сколько может поместиться в массив или только одно значение для всего массива, а затем добавляете фактические значения позже.

Да, я сказал, что buy и sell - это 0 и 1, потому что когда вы работаете с ордерами, типы ордеров являются этими целочисленными значениями.

В большинстве случаев проще всего инициализировать весь массив одним значением (просто потому, что вам нужно его инициализировать), а затем добавить значения позже.

ordersarray[10,2] = {0};

Когда вы будете использовать циклы for с массивами, все будет иметь смысл.


Я заметил кое-что

Myarray [3][4] является многомерным, но выглядит следующим образом

Myarray [3][4] = {x,y,z}

Он определен с использованием одномерной формы, то есть для одного из измерений допустимо только одно значение, хотя размер позволяет использовать 4, так что Myarray [2,0]=z, но Myarray[2,1] = 0 и Myarray[0,2] также = z.

 
SDC:

"В инициализируемой последовательности может быть опущена одна или несколько констант. В этом случае соответствующие элементы массивов числового типа инициализируются нулем, элементы массивов строкового типа инициализируются строковым значением "" (кавычки без пробела), т.е. пустой строкой (не следует путать с пробелом)."

и затем показывает этот пример,

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

вероятно, так и должно было быть:

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

Да, в первом примере Мас_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}

Он определен с использованием одномерной формы, то есть для одного из измерений допустимо только одно значение, хотя размер позволяет использовать 4, так что 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[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[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] = ?

}


Спасибо, что прояснили, это действительно очень похоже на матрицы.