1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| #include <stdio.h>
#include <stdlib.h>
int effacer (int *x,int *a,int valsupp);
int affiche(int x,int *a);
int main(int argc, char *argv[])
{
int n,t[30],val;
int *p=t;
printf("Entrer N : ");scanf("%d",&n);
for(p;p<t+n;p++)
{printf("\nT : ");scanf("%d",p);}
printf("\nVal : ");scanf("%d",&val);
system("cls");
printf("Taille initial : \t%d\n",n);
affiche(n,t);
effacer(&n,t,val);
printf("\n");
affiche(n,t);
printf("\n\ntTaille devient : \t%d\n",n);
system("PAUSE");
return 0;
}
int effacer (int *x,int *a,int valsupp)
{
int pas = 0;
int *p=a;
for(p;p<a+*x;p++)
{
//Si le contenu de (*p) est différent à (valsupp)
//Je déplace la case
*(p-pas)= *p;
//Si le contenu de (*p) est égal à (valsupp)
//j'augmente le (pas)
if(*p==valsupp)
pas++;
}
*x = (*x-pas);
return 0;
}
int affiche(int x,int *a)
{
int *p=a;
for(p;p<a+x;p++)
printf("%d : ",*p);
return 0;
} |
Partager