Language C
Résolu/Fermé2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
23 mars 2009 à 12:56
23 mars 2009 à 12:56
Salut,
Voici en gras, les corrections apportées :
Voici en gras, les corrections apportées :
#include<stdio.h> int main(void) { int a[100],x,i,n; printf("donner la taille du tableau\n"); scanf("%d",&n); for(i=0;i<n;i++) { printf("donner l'element d'indice %d\n",i); scanf("%d",a+i); } printf("donner l'ntier a ecraser"); scanf("%d",&x); for(i=0;i<n;i++) { if(a[i]==x) a[i]=0; } for(i=0;i<n;i++) { printf("le tableau apres ecrasage est %d",a[i]); } return 0; }
L'erreur est dans ta boucle while, et plus précisemment, dans la condition :
i=0;
while(*(a+i)==x)
{
*(a+i)=0;
i++;
}
Relie ce que tu as écrit, cela t'aidera à comprendre ton erreur.
Il faut simplement que tu parcourres ton tableau :
for (i = 0; i < n; i++)
if (a[i] == x)
a[i] = 0;
ou alors, avec un while :
i = 0;
while (i < n)
if ( *(a+i) == x)
*(a+i) = 0;
C'est juste une erreur d'inattention, comme on en fait tous. Bonne programmation !
i=0;
while(*(a+i)==x)
{
*(a+i)=0;
i++;
}
Relie ce que tu as écrit, cela t'aidera à comprendre ton erreur.
Il faut simplement que tu parcourres ton tableau :
for (i = 0; i < n; i++)
if (a[i] == x)
a[i] = 0;
ou alors, avec un while :
i = 0;
while (i < n)
if ( *(a+i) == x)
*(a+i) = 0;
C'est juste une erreur d'inattention, comme on en fait tous. Bonne programmation !
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
23 mars 2009 à 13:11
23 mars 2009 à 13:11
Salut,
Dans ta boucle while, il ne faut pas oublier d'incrémenter la variable i.
Dans ta boucle while, il ne faut pas oublier d'incrémenter la variable i.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
>
Abc
23 mars 2009 à 14:01
23 mars 2009 à 14:01
Avec la boucle while :
i=0; while(i<n) { if(a[i]==x) a[i]==0; i++; }
Abc
>
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
23 mars 2009 à 21:55
23 mars 2009 à 21:55
MERCI*10000000000000