Salut à tous, l'exercice dit :
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.