Transposition de matrices
Bonjour,
j'ai un nouveau problème qui concerne la transposition des matrices, voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| #include <stdio.h>
#include <stdlib.h>
main()
{
int tab[50][50];
int i,j,k,l,temp;
/*dimension*/
printf("taper les dimensions (ligne puis colonne)\n");
scanf("%d",&i);
scanf("%d",&j);
/*remplissage*/
for (k=1;k<=i;k++)
{ for (l=1;l<=j;l++)
{
printf("taper element ligne %d et colonne %d\n",k,l);
scanf("%d",&tab[k][l]);
}
}
/*affichage*/
for (k=1;k<=i;k++)
{ for (l=1;l<=j;l++)
{
printf("%3d",tab[k][l]);
}
printf("\n");
}
printf("\n");
/*transposition*/
for (k=1;k<=i;k++)
{
for (l=1;l<=j;l++)
{
temp=tab[k][l];
tab[k][l]=tab[l][k];
tab[l][k]=temp;
}
}
/*2ème affichage avec transposition*/
for (k=1;k<=i;k++)
{
for (l=1;l<=j;l++)
{ printf("%3d",tab[k][l]);
}
printf("\n");
}
} |
Le problème c'est que lors du deuxième affichage il m'affiche la même matrice que la première au lieu de la matrice transposée.
Pourtant je ne trouve pas d'erreur (ça fait presque une heure que je cherche :roll:)
Merci de m'éclairer :)