Tableau en C

Fermé
yakoub - 3 nov. 2016 à 15:36
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 3 nov. 2016 à 17:38
salut

je veaux supprimer une valeurs repeter +eurs fois dans le tableau en C

mais le code ne fonctionnée pas

exp

1 2 3 4 3 6 7 3 l'utilisateur demande à supp la val 3 // après le remplissage du tab

1 2 4 6 7

le nombre à supprimer mais certain nombres il est repetér

#include<stdio.h>

#include<stdlib.h>

int main ()

{

int t[10] , i , n,c=0 ;

printf("donner les 10 nbres ");

for(i=0;i<=9;i++)

{

scanf("%d",&t[i]);

}

printf("donner la val pr supp");

scanf("%d",&n);

for(i=0;i<=9;i++)

{

do{

if (t[i]==n)

{

t[i]=t[i+1];

c++;

}

}while(t[i]==n);

}

for(i=0;i<=9-c;i++)

{

printf("%d \t",t[i]);

}

system("pause");

return 0;

}

aidez-moi svp

1 réponse

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié par [Dal] le 3/11/2016 à 17:41
Salut yakoub,

Quand, sur un tableau de 10 éléments tu supprimes une valeur du tableau à une position i du tableau, tu dois décaler toutes les valeurs à partir de i+1 et jusqu'à la fin du tableau (sauf si tu es déjà à la fin du tableau).

Là tu ne décales qu'une valeur, en dupliquant, en fait, la valeur à la position i+1 à la position i... d'où les répétitions.


Dal
0