échange de deux positions dans une matrice

don_josep -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je suis entraint de faire un jeu(programe en language C)
j'ai la matrice
char mat[5][5]={
{'-','-','-','-','-'},
{'-','-','-','X','X'},
{'-','X','-','-','-'},
{'X','-','-','-','-'},
{'-','-','X','X','-'},
};
et je veus echangé deux positio.ce k j'ai fait est:
char mat[5][5]={
mat[i][j]=aux;
aux=mat[i-1][j];
mat[i-1][j]=aux;

MAIS LE PROGRAME NE ME CHANGE RIEN!

1 réponse

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    Normal, tu le fait dans le mauvais sens :
    aux=mat[i][j];
    mat[i][j]=mat[i-1][j];
    mat[i-1][j]=aux;

    0
    1. don_josep
       
      merci pour la réponse, mais le programme ne fonctionne pas.
      quand je lie la caracter B je dois incremonter une ligne :

      scanf("\n%c",&e);

      if(e == 'I') {
      aux=mat[i][j];
      mat[i][j]=mat[i-1][j];
      mat[i-1][j]=aux;

      }
      dibujar_mapa(mat);

      mais le programe m'afiche le meme matrice sans faire echanger rien
      0
    2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
       
      sans plus de ligne de prog, je ne peux pas t'en dire plus.
      0
    3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      @ don_josep,
      scanf("\n%c",&e)
      Mets plutôt : scanf("%c",&e); ou e=getchar();

      Si ça ne marche toujours pas, mets un getchar(); avant le scanf.

      Cdlt,
      0