Inizializzazione delle matrici - pagina 4

 
SDC:

quindi dovrebbe riempirlo in questa sequenza

[0,0]

[0,1]

[0,2]

[0,3]

poi

[1,0]

[1,1]

[1,2]

[1,3]

allora

[2,0]

[2,1]

[2,2]

[2,3]


Capisco, ma dato che l'inizializzazione è monodimensionale come possono essere validi il terzo e il secondo insieme?
 

Aspetta

in

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

3 rappresenta il numero di insiemi e 4 il numero di numeri distinti all'interno dell'insieme?

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

 

Sì, è così che è dimensionato quando si riempie l'array usando l'inizializzazione, 3 set di 4.

hmmm so che è tardi e mi sto stancando ma comunque ...

se tu dovessi usare un ciclo per riempirlo

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

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

sarebbe il primo set di 4, giusto? Ma non puoi farlo, io riempirei l'array in un ciclo al contrario, in modo da creare 4 serie di 3 ... come l'array [10,2] per dieci biglietti ... ok devo andare a letto, non posso più pensarci ora lol

Edit: la sequenza di inizializzazione riempie l'array [0,i] [1,i] [2,i] Ho dovuto pensarci per un minuto lol... quindi in realtà ho la cattiva abitudine di fare [10,2] dovrei fare array [2,10] per dieci biglietti così corrisponde al modo in cui l'inizializzazione lo farebbe.

 
Finalmente ho capito.
 

Penso che ci sia ancora qualcosa sull'inizializzazione dell'array però ... la sequenza di inizializzazione non è quella che pensavo fosse ... L'array [10,2] è un modo corretto per gestire 2 set di dieci valori corrispondenti, per esempio i dieci biglietti d'ordine con i tipi corrispondenti per ogni biglietto.

Il modo in cui potremmo inserirli in un ciclo sarebbe:

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

Quindi tutti i dieci biglietti sono messi nella prima dimensione, i tipi nella seconda

poi eseguire un secondo ciclo [i,1] per inserire i tipi

Ma se dovessimo inserirli uno alla volta in una sequenza di inizializzazione dovremmo fare ticket type ticket type ...

MyArray[10,2] = {biglietto1, tipo1, biglietto2, tipo2, biglietto3, tipo3 ecc ...

Questo perché la sequenza di inizializzazione è:

MyArray[0,0]

MyArray[0,1]

MyArray[1,0]

MyArray[1,1]

MyArray[2,0]

MyArray[2,1]

ecc ...

Penso che ero troppo stanco ieri sera per essere considerato che lol ...

In alternativa...

Puoi usare l'array [2,10]

questo significa che i biglietti vengono inseriti in un ciclo for al contrario

for(i=0; i<10; i++)
{
MyArray[0,i} = ticket[i];
MyArray[1,i] = type[i];
}
Questa volta l'inizializzazione sarebbe ticket ticket ticket ticket etc........ tipo tipo tipo tipo ....etc

la sequenza sarebbe

MyArray[0,0]

MyArray[0,1]

MyArray[0,2]

MyArray[0,3] ecc attraverso [0,9]

poi

MyArray[1,0]

MyArray[1,1]

MyArray[1,2] ecc ....