Inicialización de matrices - página 3

 
MetaNt:


Esto me recuerda a las matrices...

para la matriz de órdenes, usted dijo 0=compra y 1=venta

¿cómo puedo inicializar esto?

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

Creo que es exactamente como las matrices

Se inicializa con un conjunto de llaves y tantos valores como pueda caber en la matriz o sólo un valor para toda la matriz y luego añadir los valores reales más tarde.

Sí, dije que la compra y la venta son 0 y 1 porque cuando trabajas con órdenes, los tipos de órdenes son esos valores enteros.

La mayoría de las veces encontrarás que la forma más fácil es inicializar todo el array con un solo valor (sólo porque tienes que inicializarlo) y luego añadir los valores más tarde.

ordersarray[10,2] = {0};

Cuando uses bucles for con arrays todo tendrá sentido.

 
SDC:

Creo que es exactamente como las matrices

Se inicializa con un conjunto de llaves y tantos valores como pueda caber en la matriz o sólo un valor para toda la matriz y luego se añaden los valores reales más tarde.

Sí, dije que la compra y la venta son 0 y 1 porque cuando trabajas con órdenes, los tipos de órdenes son esos valores enteros.

La mayoría de las veces encontrarás que la forma más fácil es inicializar todo el array con un solo valor (sólo porque tienes que inicializarlo) y luego añadir los valores más tarde.

ordersarray[10,2] = {0};

Cuando uses bucles for con arrays todo tendrá sentido.


He notado algo

Myarray [3][4] es multidimensional pero mira

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

Está definida de forma unidimensional, lo que significa que para una de las dimensiones sólo es válido un valor aunque el tamaño permita 4, de forma que Myarray [2,0]=z pero Myarray[2,1] = 0 y Myarray[0,2] también = z.

 
SDC:

Creo que es exactamente como las matrices

Se inicializa con un conjunto de llaves y tantos valores como pueda caber en la matriz o sólo un valor para toda la matriz y luego se añaden los valores reales más tarde.

Sí, dije que la compra y la venta son 0 y 1 porque cuando trabajas con órdenes, los tipos de órdenes son esos valores enteros.

La mayoría de las veces encontrarás que la forma más fácil es inicializar todo el array con un solo valor (sólo porque tienes que inicializarlo) y luego añadir los valores más tarde.

ordersarray[10,2] = {0};

Cuando uses bucles for con arrays todo tendrá sentido.


He notado algo

Myarray [3][4] es multidimensional pero mira

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

Está definida de forma unidimensional, lo que significa que para una de las dimensiones sólo es válido un valor aunque el tamaño permita 4, de forma que Myarray [2,0]=z pero Myarray[2,1] = 0 y Myarray[0,2] también = z.

 
SDC:

"En la secuencia inicializada se pueden omitir una o varias constantes. En tal caso, los elementos correspondientes de las matrices de tipo numérico se inicializan por cero, los elementos de las matrices de tipo cadena se inicializan por el valor de la cadena "" (comillas sin espacio), es decir, por una línea vacía (no debe confundirse con un espacio)."

y luego muestra este ejemplo,

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

probablemente era lo que se pretendía:

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

Sí, en el primer ejemplo Mas_s[2] se inicializará con 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);

Resultado


13:03:01 aaa CADJPY,H1: Matriz A =ab0d

13:03:01 aaa CADJPY,H1: Matriz B =abd

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

 
MetaNt:


Me he dado cuenta de algo

Mi matriz [3][4] es multidimensional pero mira

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

Está definida de forma unidimensional, lo que significa que para una de las dimensiones sólo es válido un valor aunque el tamaño permita 4, de forma que MiMatriz [2,0]=z pero MiMatriz[2,1] = 0 y MiMatriz[0,2] también = z.

sí, si rellenas el array de esa manera, lo rellena secuencialmente empezando por la primera dimensión
 
SDC:
sí, si llenas el array de esa manera lo llena secuencialmente empezando por la primera dimensión


así que int myarray[2][2] = {1,2} llenaría

mi matriz[0,0]=1

mi matriz[1,0]=2

mi matriz[0,0]=1

mi matriz[0,1]=2

cómo conseguirías que hiciera esto usando un bucle

¿Utilizarías las variables i y j con límites acordes al tamaño del array?

 

por lo que debería llenarla en esta secuencia

[0,0]

[0,1]

[0,2]

[0,3]

entonces

[1,0]

[1,1]

[1,2]

[1,3]

entonces

[2,0]

[2,1]

[2,2]

[2,3]

 
MetaNt:


así que int myarray[2][2] = {1,2} llenaría

mi matriz[0,0]=1

mi matriz[1,0]=2

mi matriz[0,0]=1

mi matriz[0,1]=2

cómo conseguirías que hiciera esto usando un bucle

¿Utilizarías las variables i y j con límites acordes al tamaño del array?

sí puedes sustituir las constantes dimensionales por una variable

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

{miarray[i,0] = ? // añadiría valores a la 1ª

}

 

también se puede hacer de la otra manera

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

{mi matriz[0,i] = ?

}

 
SDC:

también se puede hacer de la otra manera

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

{mi matriz[0,i] = ?

}


Gracias por aclararlo, se parece mucho a las matrices.