Initialisation des tableaux - page 4

 
SDC:

donc il devrait le remplir dans cette séquence

[0,0]

[0,1]

[0,2]

[0,3]

puis

[1,0]

[1,1]

[1,2]

[1,3]

puis

[2,0]

[2,1]

[2,2]

[2,3]


Je vois, mais puisque l'initialisation est unidimensionnelle, comment les troisième et deuxième ensembles peuvent-ils être valides ?
 

Attendre

dans

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

Est-ce que 3 représente le nombre d'ensembles, et 4 le nombre de nombres distincts dans l'ensemble ?

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

 

Oui, c'est ainsi qu'il est dimensionné lorsque vous remplissez le tableau en utilisant l'initialisation, 3 ensembles de 4.

hmmm je sais qu'il est tard et que je suis fatigué mais quand même...

si vous deviez utiliser une boucle pour le remplir

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

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

ce serait la première série de 4, non ? Mais vous ne pouvez pas faire cela, je remplirais le tableau dans une boucle dans l'autre sens, de sorte que cela créerait 4 ensembles de 3 ... comme le tableau [10,2] pour dix billets ... ok, je dois aller au lit, je ne peux pas penser à ce sujet plus maintenant lol

Edit : la séquence d'initialisation remplit le tableau [0,i] [1,i] [2,i] j'ai du y réfléchir pendant une minute lol... donc vraiment j'ai la mauvaise habitude de faire [10,2] je devrais faire des tableaux [2,10] pour dix tickets pour que cela corresponde à la façon dont l'initialisation le ferait.

 
J'ai enfin compris.
 

Je pense qu'il y a encore quelque chose à propos de l'initialisation du tableau ... la séquence d'initialisation n'est pas ce que je pensais qu'elle était ... Le tableau [10,2] est une façon correcte de gérer 2 ensembles de dix valeurs correspondantes, par exemple les dix tickets de commande avec les types correspondants pour chaque ticket.

La façon dont nous pourrions les entrer dans une boucle serait la suivante :

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

Donc, les dix tickets sont placés dans la première dimension, les types dans la seconde.

puis exécuter une deuxième boucle [i,1] pour saisir les types.

Mais si nous devions les entrer un par un dans une séquence d'initialisation, nous devrions faire ticket type ticket type ...

MyArray[10,2] = {ticket1, type1, ticket2, type2, ticket3, type3 etc ...

C'est parce que la séquence d'initialisation est :

MonTableau[0,0]

MonTableau[0,1]

MonTableau[1,0]

MonTableau[1,1]

MonTableau[2,0]

MonTableau[2,1]

etc ...

Je pense que j'étais trop fatigué la nuit dernière pour envisager cela lol ...

Autre possibilité...

Vous pouvez utiliser le tableau [2,10].

Cela signifie que les billets sont entrés dans une boucle for dans l'autre sens.

for(i=0; i<10; i++)
{
MyArray[0,i} = ticket[i];
MyArray[1,i] = type[i];
}
Cette fois, l'initialisation serait ticket ticket ticket ticket etc........ type type type type type ....etc

la séquence serait

Mon tableau [0,0]

Mon tableau [0,1]

MonTableau[0,2]

MonTableau[0,3] etc. jusqu'à [0,9].

puis

MonTableau[1,0]

MonTableau[1,1]

MonTableau[1,2] etc. ....