Decalage
mb42
Messages postés
553
Statut
Membre
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,
on a un tableau qui consititue de carectere
et je dois inserer une valeur a un indice bien defini
a titre d'exemple le tableau contient
tab 1 4 6 7 3 9
j'insere la valeur 2 a l'indice 3
donc le resultat doit etre comme ca
1 4 6 2 7 3 9
don on a un ecrasement
povez me corriger mon programme :
#include<stdio.h>
#include<conio.h>
main()
{
int tab[50],i,taille,val,indice;
do
{
printf("donner la taille du tableau");
scanf("%d",&taille);
}
while((taille<=0)||(taille>=50));
for(i=0;i<taille;i++)
{
printf("donner la valeur %d du tableau",i);
scanf("%d",&tab[i]);
}
printf("siai un valeur");
scanf("%d",&val);
printf("donner l'emplacement ou la valeur doit etre saisie");
scanf("%d",&indice);
for(i=0;i<=taille;i++)
{
if(i==indice)
tab[i]=val;
tab[i+1]=tab[i];
}
for(i=0;i<taille;i++)
{
printf("le valeur du tableau est %d\n",tab[i]);
}
getch();
}
merci d'avance
on a un tableau qui consititue de carectere
et je dois inserer une valeur a un indice bien defini
a titre d'exemple le tableau contient
tab 1 4 6 7 3 9
j'insere la valeur 2 a l'indice 3
donc le resultat doit etre comme ca
1 4 6 2 7 3 9
don on a un ecrasement
povez me corriger mon programme :
#include<stdio.h>
#include<conio.h>
main()
{
int tab[50],i,taille,val,indice;
do
{
printf("donner la taille du tableau");
scanf("%d",&taille);
}
while((taille<=0)||(taille>=50));
for(i=0;i<taille;i++)
{
printf("donner la valeur %d du tableau",i);
scanf("%d",&tab[i]);
}
printf("siai un valeur");
scanf("%d",&val);
printf("donner l'emplacement ou la valeur doit etre saisie");
scanf("%d",&indice);
for(i=0;i<=taille;i++)
{
if(i==indice)
tab[i]=val;
tab[i+1]=tab[i];
}
for(i=0;i<taille;i++)
{
printf("le valeur du tableau est %d\n",tab[i]);
}
getch();
}
merci d'avance
3 réponses
Bonjour,
C'est dans ta boucle que cela ne va pas, car tu écrases tab[i] par val avant de le passer à l'indice suivant...
Essaie ça :
Xavier
C'est dans ta boucle que cela ne va pas, car tu écrases tab[i] par val avant de le passer à l'indice suivant...
Essaie ça :
int temp;
for(i=0; i<=taille; i++)
{
if(i>=indice)
{
temp = tab[i];
tab[i]=val;
val = temp;
}
Xavier