J veu un programme en lagage c

aminious -  
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
bonjour
svp
j veux ecrire un programme en langage c qui lit un tableau de n entier puis verifie et suprime un entier x du tableau (x etant lu au clavier)
exemple:
3 2 6 9 2 7
x=2
3 6 9 7

3 réponses

ian86
 
Salut,

Tu dois parcourir ton tableau à l'aide d'une boulce à compteur.

ex:

const int ELIMINATION = 2;
const int TAILLE = 6;
const int BASE =0;
int Tableau = [TAILLE] = { 3, 2, 6, 9, 2, 7 };
int Indice;

Indice = BASE;
while ( Indice < TAILLE )
{
if( Tab[Indice] == ELIMINATION )
{
// Supprime ton nombre de la façon que tu veux
}
Indice++;
}

J'espère que cela t'as aider, sinon ben désolé.
0
vignemail1 Messages postés 1246 Date d'inscription   Statut Contributeur Dernière intervention   259
 
Pour de grand tableau je conseille des listes doublement chainés. Tableau de taille dynamique, suppression rapide car il suffit de changer 2 pointeurs max par occurrence trouvée.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

voici un exemple à adapter
lami20j@debian:~/trash$ cat ccm2.c
#include <stdio.h>

#define TAILLE 10

int main ()
{
  int tab[TAILLE];
  int i, j, nb;

  printf ("Entrez les nombres (séparés par espace) : ");
  for (i = 0; i < TAILLE; ++i){
      scanf ("%d", &nb);
      tab[i] = nb;
  }

  /*affiche le tableau */
  for (i = 0; i < TAILLE; ++i)
    printf ("%d ", tab[i]);
  printf ("\n");

  /* élément à supprimer */
  printf ("Entrez un nombre : ");
  scanf ("%d", &nb);
  printf ("nombre à supprimer : %d\n", nb);

  /* suppression d'un élément */
  for (i = j = 0; i < TAILLE; ++i)
    if (tab[i] != nb)
      tab[j++] = tab[i];

  /*affiche le tableau après la suppression */
  for (i = 0; i < j; ++i)
    printf ("%d ", tab[i]);
  printf ("\n");
  return 0;
}
lami20j@debian:~/trash$ gcc ccm2.c
L'exécution
lami20j@debian:~/trash$ ./a.out
Entrez les nombres (séparer par espace) : 0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
Entrez un nombre : 5
nombre à supprimer : 5
0 1 2 3 4 6 7 8 9
lami20j@debian:~/trash$
0