Language C
Résolu
Abc
-
Abc -
Abc -
Bonjour,
salut tous le monde ,j'ai eu une deffuculte au niveau de resolution de ce prog j'espere que vous pouvez m'aider a degager l'erreur . MERCI
EXERCICE:
Ecrire un programme qui lit un entier X et un tableau A du type int au clavier et élimine toutes les occurrences de X dans A en remplacent les occurences par 0.
#include<stdio.h>
void main()
{
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);
i=0;
while(*(a+i)==x)
{
*(a+i)=0;
i++;
}
for(i=0;i<n;i++)
{
printf("le tableau apres ecrasage est %d",a[i]);
}
}
MERCI D'AVENCE
salut tous le monde ,j'ai eu une deffuculte au niveau de resolution de ce prog j'espere que vous pouvez m'aider a degager l'erreur . MERCI
EXERCICE:
Ecrire un programme qui lit un entier X et un tableau A du type int au clavier et élimine toutes les occurrences de X dans A en remplacent les occurences par 0.
#include<stdio.h>
void main()
{
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);
i=0;
while(*(a+i)==x)
{
*(a+i)=0;
i++;
}
for(i=0;i<n;i++)
{
printf("le tableau apres ecrasage est %d",a[i]);
}
}
MERCI D'AVENCE
A voir également:
- Language C
- Windows display language french - Guide
- Vistalizator language pack windows 7 - Télécharger - Traduction
- Language binaire - Guide
- Autocad 2008 language pack french - Forum AutoCAD
- Photoshop cs6 french language pack - Forum Photoshop
2 réponses
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 !