Inicialización de matrices - página 4

 
SDC:

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]


Ya veo, pero como la inicialización es unidimensional ¿cómo pueden ser válidos el tercer y el segundo conjunto?
 

Espera

en

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

¿el 3 representa el número de conjuntos y el 4 el número de números distintos dentro del conjunto?

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

 

Sí, así es como se dimensiona cuando se llena la matriz mediante la inicialización, 3 conjuntos de 4.

hmmm sé que es tarde y me estoy cansando pero aún así...

si usted fuera a usar un bucle para llenarlo

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

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

que sería el primer conjunto de 4 derecho? Pero no se puede hacer eso, yo llenaría el array en un bucle a la inversa, por lo que crearía 4 conjuntos de 3 ... como el array [10,2] para diez entradas ... ok tengo que ir a la cama no puedo pensar en esto más ahora lol

Edición: la secuencia de inicialización llena el array [0,i] [1,i] [2,i] Tuve que pensar en eso por un minuto lol ... así que realmente estoy en un mal hábito de hacer [10,2] debería hacer [2,10] arrays para diez entradas por lo que coincide con la forma de inicialización lo haría.

 
Por fin lo entiendo.
 

Sin embargo, creo que todavía hay algo sobre la inicialización del array... la secuencia de inicialización no es la que yo pensaba... El array [10,2] es una forma correcta de manejar 2 conjuntos de diez valores correspondientes, por ejemplo los diez tickets de pedido con los tipos correspondientes para cada ticket.

La forma en que podríamos introducirlos en un bucle sería:

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

Entonces los diez tickets se ponen en la primera dimensión, los tipos en la segunda

luego ejecutar un segundo bucle [i,1] para introducir los tipos

Pero si tuviéramos que introducirlos de uno en uno en una secuencia de inicialización tendríamos que hacer ticket type ticket type ...

MiMatriz[10,2] = {boleto1, tipo1, boleto2, tipo2, boleto3, tipo3 etc ...

Eso es porque la secuencia de inicialización es:

MiMatriz[0,0]

MiMatriz[0,1]

MiMatriz[1,0]

MiMatriz[1,1]

MiMatriz[2,0]

MiMatriz[2,1]

etc...

Creo que estaba demasiado cansado anoche para considerar que lol ...

Alternativamente...

Usted puede utilizar la matriz [2,10]

esto significa que las entradas se introducen en un bucle for al revés

for(i=0; i<10; i++)
{
MyArray[0,i} = ticket[i];
MyArray[1,i] = type[i];
}
Esta vez la inicialización sería ticket ticket ticket etc........ type type ....etc

la secuencia sería

MiMatriz[0,0]

MiMatriz[0,1]

MiMatriz[0,2]

MyArray[0,3] etc. hasta [0,9]

entonces

MiMatriz[1,0]

MiMatriz[1,1]

MiMatriz[1,2] etc ....

Razón de la queja: