Bonjour à tous !
Voici un code qui permet de fusionner deux vecteurs V1 et V2 dans V3, je ne comprends pas son déroulement à partir de la 19ème ligne(
for( J=0;J<5;J++) V3[I+J]=V2[J]
. Sinon le programme d'après sa compilation et son exécution, il est correct.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #include<stdio.h>
main()
{
float V1[10];
float V2[5];
float V3[15]; int I;
int J;
for(I=0;I<10;I++)
{
printf("\nDonnez V1[%d]=",I);
scanf("%f",&V1[I]);
}
for(J=0;J<5;J++)
{
printf("\nDonnez V2[%d]=",J);
scanf("%f",&V2[J]);
}
for(I=0;I<10;I++) V3[I]=V1[I];
for( J=0;J<5;J++) V3[I+J]=V2[J];
for(I=0;I<15;I++) printf("\n%.2f",V3[I]);
} |
D'après ce que j'ai compris, à partir de la 19ème ligne, la valeur de I serait égale à 9. Et que V3[9]=V1[9].
Le programme arrivé à la 19ème ligne, il se déroulement de cette façon:
V3[I+J]=V3[9+0]=V3[9]=V2[J]=V2[0]
La valeur de V3[9] qui était égale à V1[9] serait écrasée et remplacée par la valeur de V2[0] ce qui rend la suite du déroulement erronée.
Merci de m'aider, de m'expliquer où je me suis trompée dans le déroulement, et de m'éclaircir mes idées.
Partager