salut tout le monde!
Ecrire un programme qui transfère un tableau M à deux dimensions L et C (dimensions maximales: 10 lignes et 10 colonnes) dans un tableau V à une dimension L*C.
Exemple:
/ \
| a b c d | / \
| e f g h | ==> | a b c d e f g h i j k l |
| i j k l | \ /
\ /
CORRIGE:
Ma question:Code:#include <stdio.h> main() { /* Déclarations */ int M[10][10]; /* tableau à 2 dimensions */ int V[100]; /* tableau à 1 dimension */ int L, C; /* dimensions */ int I, J; /* indices courants */ /* Saisie des données */ printf("Nombre de lignes (max.10) : "); scanf("%d", &L ); printf("Nombre de colonnes (max.10) : "); scanf("%d", &C ); for (I=0; I<L; I++) for (J=0; J<C; J++) { printf("Elément[%d][%d] : ",I,J); scanf("%d", &M[I][J]); } /* Affichage du tableau 2-dim */ printf("Tableau donné :\n"); for (I=0; I<L; I++) { for (J=0; J<C; J++) printf("%7d", M[I][J]); printf("\n"); } /* Transfer des éléments ligne par ligne */ for (I=0; I<L; I++) for (J=0; J<C; J++) V[I*C+J] = M[I][J]; /* Affichage du tableau 1-dim */ printf("Tableau résultat : "); for (I=0; I<L*C; I++) printf("%d ", V[I]); printf("\n"); return 0; }
pourquoi " V[I*C+J] "??? comment on a fait pour l'obtenir?
-----