Array-Initialisierung - Seite 4

 
SDC:

also sollte es in dieser Reihenfolge gefüllt werden

[0,0]

[0,1]

[0,2]

[0,3]

dann

[1,0]

[1,1]

[1,2]

[1,3]

dann

[2,0]

[2,1]

[2,2]

[2,3]


Ich verstehe, aber da die Initialisierung eindimensional ist, wie können der dritte und der zweite Satz gültig sein?
 

Warten

in

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

Steht 3 für die Anzahl der Mengen und 4 für die Anzahl der unterschiedlichen Zahlen innerhalb der Menge?

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

 

Ja, das ist, wie es dimensioniert ist, wenn Sie das Array mit Initialisierung füllen, 3 Sätze von 4.

Hmmm, ich weiß, es ist spät und ich bin müde, aber trotzdem ...

Wenn Sie eine Schleife zum Füllen verwenden würden

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

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

wäre das der erste Satz von 4 richtig? Aber das kann man nicht machen, ich würde das Array in einer Schleife andersherum füllen, also würde es 4 Sets von 3 erstellen ... wie das [10,2] Array für zehn Tickets ... ok ich muss ins Bett gehen, ich kann jetzt nicht mehr darüber nachdenken lol

Edit: die Initialisierungssequenz füllt das Array [0,i] [1,i] [2,i] Ich musste eine Minute darüber nachdenken lol... also bin ich wirklich in einer schlechten Angewohnheit, [10,2] zu tun, ich sollte [2,10] Arrays für zehn Tickets tun, damit es mit der Art und Weise der Initialisierung übereinstimmt.

 
Ich habe es endlich verstanden.
 

Ich denke, es gibt noch etwas über Array-Initialisierung obwohl ... die Reihenfolge der Initialisierung ist nicht das, was ich dachte, es war ... Das [10,2] Array ist ein korrekter Weg, um 2 Sätze von zehn entsprechenden Werten zu behandeln, zum Beispiel die zehn Bestellung Tickets mit entsprechenden Typen für jedes Ticket.

Die Art und Weise, wie wir sie in einer Schleife eingeben könnten, wäre:

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

Alle zehn Tickets werden also in die erste Dimension eingetragen, die Typen in die zweite

dann eine zweite Schleife [i,1] laufen lassen, um die Typen einzugeben

Wenn wir sie aber einzeln in einer Initialisierungssequenz eingeben würden, müssten wir ticket type ticket type ...

MyArray[10,2] = {Ticket1, Typ1, Ticket2, Typ2, Ticket3, Typ3 usw. ...

Das liegt daran, dass die Initialisierungssequenz lautet:

MyArray[0,0]

MyArray[0,1]

MyArray[1,0]

MyArray[1,1]

MeinArray[2,0]

MeinArray[2,1]

etc ...

Ich glaube, ich war letzte Nacht zu müde, um daran zu denken lol ...

Alternativ ...

Sie können das Array [2,10] verwenden

das bedeutet, dass die Tickets in einer for-Schleife andersherum eingegeben werden

for(i=0; i<10; i++)
{
MyArray[0,i} = ticket[i];
MyArray[1,i] = type[i];
}
Dieses Mal würde die Initialisierung Ticket Ticket Ticket Ticket etc........ type type type type ....etc lauten.

Die Sequenz würde lauten

MeinArray[0,0]

MeinArray[0,1]

MyArray[0,2]

MyArray[0,3] usw. bis [0,9]

dann

MeinArray[1,0]

MeinArray[1,1]

MeinArray[1,2] usw. ....