Supprimer une valeur dans un tableau
Salut à tous, l'exercice dit :
Citation:
Ecrire un programme en "C" qui lit un entier (X) et un tableau (A) de type entier et élimine tous les occurrences de (X) dans (A) en tassant les éléments. {Faire un décalage}.
Le professeur veut une méthode dans laquelle on utilise la notion du pointeur pour résoudre ce problème.
J'ai essayé bien sûr avec cet exercice et j'ai coincé : voici le code de mon programme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int val,n,pas,t[30];
int *p=t;
printf("Entrer N : ");scanf("%d",&n);
for(p=t;p<p+n;p++)
{Printf("\nT : ");scanf("%d",p);}
printf("\nVal : ");scanf("%d",&val);
pas=0;
for(p=t;p<t+n;p++)
{
if(*p!=val)
*(p-pas)= *p;
if(*p==val)
pas++;
}
system("PAUSE");
return 0;
} |
Je crois que algorithmiquement c'est vrai mais d'un coté technique je ne sais pas comment faire.