J veu un programme en lagage c

aminious -  
lami20j Messages postés 21506 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

  1. 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
  2. vignemail1 Messages postés 1262 Statut Contributeur 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
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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