CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C] Affichertableau 2D avec une procédur

bnji47
bnji47
Niveau 42
13 mars 2014 à 14:29:21

Bonjour,
je bloque sur un probleme tout con, le programme compile bien, mais il me met "Code Blocks a cessé de fonctionner"
dans le main je crée un tableau 2D et je mets tout ses éléments à 0, je crée juste une procédure afficher qui doit afficher le tableau mais ça me met codeblocks a cessé de fonctionner et je ne comprends aps pourquoi

mon code :
http://pastebin.com/R2jCTtR1

je suis sous W8 64 bits et je code en C avec Codeblocks
merci d'avance

guyver2
guyver2
Niveau 10
13 mars 2014 à 14:53:54

int carre[taille][taille] = {{0,0,0,0,0}, {0,0,0,0,0}}; /*le tableau initialisé à 0*/

ca ne fait pas un tableau de taille (4x4) mais 2x5 ... Donc lorsque tu voudras afficher carre[3][3] tu es deja bien loin hors de la zone memoire que tu as le droit d'utiliser, donc potentiel crash.

Aussi, pour plus tard, tu devrais ajouter un printf("\n") dans la premiere boucle pour sauter une ligne a chaque nouvelle ligne de ton tableau

bnji47
bnji47
Niveau 42
13 mars 2014 à 14:58:05

Salut merc ibeaucoup de répondre ,
je ne comprends pas pourquoi ça fait un tableau 2x5 :(

je note le coup du printf("\n") c'est justement ce qu'il me faut (en fait je dois faire comme une matrice)

bnji47
bnji47
Niveau 42
13 mars 2014 à 15:40:41

quelqu'un peut m'aider ? :snif2:

Pseudo supprimé
Pseudo supprimé 13 mars 2014 à 16:02:47

Prend l'habitude de mettre les define en majuscule pour ne pas qu'il soit confondu avec des variable.

ensuite remplace :
int carre[taille][taille] = {{0,0,0,0,0}, {0,0,0,0,0}};

Par :
int carre[taille][taille] = {{0,0,0,0}, {0,0,0,0}, {0,0,0,0}, {0,0,0,0}};

bnji47
bnji47
Niveau 42
13 mars 2014 à 16:09:20

Merci de répondre,

j'ai fait ce que tu as dit et j'ai tjrs le meme bug , a cessé de fonctionner...
le pire c'est que, quand je mets l'affichage dans le main, ça marche impec, c'est cette putain de procédure qui merde !

LEpigeon-888
LEpigeon-888
Niveau 12
13 mars 2014 à 16:48:17

Si tu comprends pas pourquoi {{0,0,0,0,0}, {0,0,0,0,0}} fait un tableau de 2*5 je te conseil de relire ton cour sur les tableaux :(

En gros, entre les {} tu as ton tableau, donc ça veut dire que ton tableau carre contient "{0,0,0,0,0}, {0,0,0,0,0}", soit deux tableaux de cinq 0.

bnji47
bnji47
Niveau 42
13 mars 2014 à 16:52:54

j'ai compris le coup de 2x5 :merci:
je bosse sur un autre piste

bnji47
bnji47
Niveau 42
13 mars 2014 à 16:55:30

je viens de résoudre le probleme pour ceux qui passeront par ceux topic, merci a toi :)

le code qui marche :

http://pastebin.com/tt875f2q

Link_2408
Link_2408
Niveau 6
13 mars 2014 à 17:15:45

tu as mal allouer tab2.
je t'ai donné l'algo d'allocation d'un tableau a 2 dimensions dans l'autre xdujet
reutilises-le

Link_2408
Link_2408
Niveau 6
13 mars 2014 à 17:16:53

pointeur à double dimension*
dsl double post

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment