Supprimer élements d'un tableau C++
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Supprimer élements d'un tableau C++



  1. #1
    ThibaudJER

    Supprimer élements d'un tableau C++


    ------

    Bonjour,

    Je bloque sur une méthode (que je croyais à priori simple), qui reçois un tableau qui contient les valeurs à supprimer, et supprime ces valeurs là!

    Je fais une boucle qui à chaque fois que je trouve une des valeurs à supprimer, je remplace la case correspondante de mon tableau actuel par -50 et cette boucle là fonctionne sans problème!

    Après, je fais une autre boucle, à chaque fois que je trouve -50, je décale tout mon tableau, pour que à la fin je supprime les dernière cases en diminuant la taille du tableau!

    Code:
       for(p=0; p<TAILLE; p++){
    
            if(tab[p]==-50){
     
                     for(k=p; k<TAILLE-1; k++){     
                temp=tab[k];
                
                tab[k]=tab[k+1];
                tab[k+1]=temp;
                
                }
                
            }
            
        }
    ça marche sans problème pour toutes les valeurs SAUF la première qui reste toujours à sa place et n'est pas décalée à la fin! et je n'arrive pas à du tout à savoir pourquoi!

    Par exemple si mon tableau est
    5
    8
    -50
    -50
    -50
    8
    9
    0
    Alors ça me donne
    5
    8
    -50
    8
    9
    0
    -50
    -50

    Je vous remercie pour toute aide!

    -----
    Dernière modification par ThibaudJER ; 13/10/2014 à 00h29.

  2. #2
    Chanur

    Re : Supprimer élements d'un tableau C++

    Bonjour,

    Ce n'est pas le fait que ce soit la première valeur, mais ça se produit dès qu'il y a deux -50 consécutifs.
    Aussi, c'est vraiment une bizarre façon pour décaler la fin d'un tableau, d'intervertir tous les éléments deux à deux !
    Ce qui se conçoit bien s'énonce clairement ; et les mots pour le dire arrivent aisément.

  3. #3
    Jack
    Modérateur

    Re : Supprimer élements d'un tableau C++

    Aussi, c'est vraiment une bizarre façon pour décaler la fin d'un tableau, d'intervertir tous les éléments deux à deux !
    En effet. Pour "tasser" le tableau, il suffit de décaler tous les éléments restant d'un cran vers les adresses du tableau les plus faibles .

  4. #4
    PA5CAL

    Re : Supprimer élements d'un tableau C++

    Bonjour

    C'est comme Jack a dit.

    Sans optimination, ça peut donner ça :
    Code:
    int n, L;
    
    L = 0;
    for (n=0; n<TAILLE; n++) {
      if (tab[n] != -50)
        tab[L++] = tab[n];
    }
    Ensuite il ne reste plus qu'à couper le tableau à la longueur L (les éléments du tableau d'indices L à TAILLE-1 contiennent des valeurs non modifiées dont il ne faut pas tenir compte).

  5. A voir en vidéo sur Futura
  6. #5
    ThibaudJER

    Re : Supprimer élements d'un tableau C++

    Merci beaucoup, vous êtes les meilleurs

  7. #6
    mp3dux

    Re : Supprimer élements d'un tableau C++

    Ton problème, réglé je te conseille pour tes futurs programmes de ne pas utiliser des astuces de ce genre.
    Tu risques de te retrouver avec des bugs incompréhensibles et surtout quand quelqu’un va utiliser ton programme il ne saura pas
    que tu as utilisé -50 dans tes tests...

    Juste pour info ça pourrait te servir un jour, tu peux aussi utiliser les méthodes erase et remove avec les conteneurs de la bibliothèque standard, le VECTOR par exemple. Tu lui passes les éléments à travers des itérateurs, il te fait la même chose en mieux en 3 lignes.
    Et il ne fait pas que ça, il te les ajoute, les trie, les découpe, les inverse, supprime les doublons, tout le baratin possible inimaginable...

    Le jour où tu auras affaire à des tableaux dynamiques en C++ pense au VECTOR, ça pourrait t'aider.
    Si nous faisions tout ce que nous sommes capables de faire, nous en serions abasourdis. T.E

Discussions similaires

  1. Tableau périodique des éléments.
    Par invite76bb2065 dans le forum Chimie
    Réponses: 5
    Dernier message: 19/02/2011, 18h01
  2. Tableau periodique des elements
    Par invite5a8f7588 dans le forum Chimie
    Réponses: 23
    Dernier message: 04/03/2009, 18h54
  3. tableau periodique des elements
    Par inviteb6095d85 dans le forum Chimie
    Réponses: 6
    Dernier message: 06/02/2009, 19h24
  4. Tableau Périodique des Éléments.
    Par invite62d2f375 dans le forum Chimie
    Réponses: 3
    Dernier message: 07/12/2008, 17h48