Initialisation d'un tableau à deux dimensions de structure - C - Programmation
Marsh Posté le 27-09-2003 à 16:24:41
Fais peter ton code et dis nous dans quel contexte ton prog est utilisé
Marsh Posté le 27-09-2003 à 16:32:53
Normalement tu dois accéder à tes champs de cette manière:
Lors de l'affectation il ne faut pas mettre de type devant, vu que tu as déclaré figConteneur avant.
Ensuite tu dois accéder à tes champs avec une ligne du style:
figConteneur[x][y].etatCarre = val
et de même pour idCarre et idFigure.
Marsh Posté le 27-09-2003 à 16:38:08
ben dans es #define, faut faire les regroupements 3 par 3. et apres je te conseille de faire une initilisation etape par étape plutot que tout d'un coup dans une {} qui prends tous les éléments (absolument imbbitable ton truc, heureusmeent que t'as mis des des #, sinon, on aurait pu comprends ton code du premier coup et tu aurais toi meme compris le problème
Marsh Posté le 27-09-2003 à 16:41:24
struct dawa
{
int a, b, c;
};
struct dawa tab[][2] = {
{ {1, 2, 3}, {4, 5, 6} },
{ {7, 8, 9}, {10, 11, 12} }
};
Marsh Posté le 27-09-2003 à 17:04:32
Taz a écrit : struct dawa |
Je suis d'accord avec ce que tu écris mais :
1. Les valeurs dans le #define sont celles du premier champ (etatCarre) pour l'ensemble des carres d'une ligne de figConteneur[NBFIGURES][NBCARRESFIG] (sachant que
NBFIGURES = 7 et NBCARRESFIG=16 j'ai oublié de le préciser).
en exemple #define FIG1 contient l'ensemble des valeurs du champ etatCarre pour figConteneur[0][0à15]
Je suis peut être pas très clair. C'est sûr que je peux faire une fonction pour faire ça avec des boucles mais si ca avait pu se faire à l'initialisation ça aurait été plus simple pour des modifs ultérieures, comme rajouter des figures.
Mais je cherche peut être trop compliqué.
Marsh Posté le 27-09-2003 à 17:23:08
Taz a écrit : et ? ton problème, c'est juste de la synthaxe .| |
Si je reprends ton exemple:
Code :
|
Moi mon #define représente le 1, le 4, le 7 et le 10. Et je ne sais donc pas comment lui indiquer ca syntaxiquement.
Marsh Posté le 27-09-2003 à 17:36:57
heu... je compile en -Wall -ansi -pedantic c'est tout ce que je peux dire.
Marsh Posté le 27-09-2003 à 17:44:52
ben donc en ANSI, t'as pas de solutions : si tu initialisez, tu dois tout initialiser.
Marsh Posté le 27-09-2003 à 15:15:35
Salut!
j'ai la structure suivante :
J'ai le tableau à deux dimensions suivant :
Et je veux initialiser l'ensemble des champs etatCarre avec des defines de ce type:
Alors pour l'instant je fais ça:
Mais j'ai le message suivant à la compilation :
Si vous avez une idée ca m'intéresse bien