échange de deux positions dans une matrice

don_josep -  
fiddy Messages postés 11653 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!
A voir également:

1 réponse

Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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
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
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
sans plus de ligne de prog, je ne peux pas t'en dire plus.
0
fiddy Messages postés 11653 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