Matrice de structures : probleme de remplissage [C] - C - Programmation
Marsh Posté le 05-05-2009 à 12:39:56
struct bloc laby[la][lo]; |
Il y a un problème d'indice. Il faut déclarer lo+1 (idem pour la) ou bien faire une boucle avec "<" au lieu de "<=".
Je ne sais pas si le problème vient de là. En tous cas, c'est un problème.
Marsh Posté le 05-05-2009 à 12:41:59
Ben non, sinon le programme m'affiche une matrice 2*2 alors que je demande une 3*3.
Tu as vu le :
Code :
|
?
Bizarrement, je n'ai pas ce probleme avec une matrice 2*2
Marsh Posté le 05-05-2009 à 12:44:46
Les moins moins ne sont pas placés au bon endroit. Il aurait fallu les mettre juste après la déclaration, pas avant. Mais le plus simple et le plus habituel est de ne pas avoir de moins moins, mais de faire un test inférieur strictement au lieu de ce inférieur ou égal.
Marsh Posté le 05-05-2009 à 12:56:37
Certes mais le problème n'est pas là, si ?
Mon "remplissage de case" est bien syntaxé ?
Marsh Posté le 05-05-2009 à 13:00:59
Comme je l'ai dit, je ne sais pas si le problème est là ou pas. Je sais juste qu'un débordement est un problème grave, qu'il faut traiter en premier lieu.
Pour ce qui est de la syntaxe, il faut voir s'il y a des messages d'erreur ou d'avertissement à la compilation.
Marsh Posté le 05-05-2009 à 13:07:12
aucun, non
pour le débordement, j'ai pas bien compris ce que je suis sensé faire...
faire
Code :
|
??
Marsh Posté le 05-05-2009 à 13:35:07
bloc laby [lo-1][la-1]; |
Aie. Non, il faut tout simplement
bloc laby [lo][la] |
Vérifions en comptant (et pour simplifier, je ne considère qu'une dimension) : Si lo = 3. Avec une boucle for(i= 0; i < 3; i++) cela donne 0, 1, 2. Donc 3 remplissages pour un tableau ayant trois cases.
Marsh Posté le 06-05-2009 à 00:13:34
Ah oui, exact.
Ca a l'air de résoudre le probleme...
Marsh Posté le 05-05-2009 à 12:35:14
Voila, j'essaie de faire un tableau à deux dimensions de structures.
Le probleme c'est que quand je remplis une case, toutes les lignes prennent la même valeur.
Voyez vous même :
Et avec ça j'ai toutes mes "lignes" identiques...
D'où vient le probleme ?
merci d'avance