Partage
  • Partager sur Facebook
  • Partager sur Twitter

Supprimer élément tableau

    19 juin 2017 à 19:02:30

    Bonjour tous le monde.

    Je souhaiterais créer un programme contenant un tableau de liste de nombre, ou celui-çi me demande "Quelle valeur veux-tu supprimer", et qu'il m'affiche le nouveau tableau avec cette valeur en moins.

    Apprenant seul le langage C, j'ai essayé de trouver la solution sur Youtube, mais aucune vidéo ne me montrait la marche à suivre.

    Merci de votre aide :)

    • Partager sur Facebook
    • Partager sur Twitter
      19 juin 2017 à 19:09:35

      Il n'y a pas 36 solutions, tu dois déplacer tous les éléments placés après celui que tu supprimes pour reformer le tableau correctement. Sinon il y a les listes/piles/files qui offrent plus de souplesse pour ce genre d'opérations
      • Partager sur Facebook
      • Partager sur Twitter
        20 juin 2017 à 11:51:41

        Salut,

        Pour être rigoureux, on ne dit pas un tableau de liste de nombre, mais un tableau de nombre, ou une liste de nombre.

        Avec un tableau, comme l'a dit Gam', quand tu supprime un élément du tableau tu dois déplacer tout les éléments suivant.

        Un bout de code (pas testé, mais qui devrait marcher) :

        void deleteElement(int *tab, int taille, size_t index) {
            if(index < 0 || index >= taille) {
                return; // Mauvais indice
            }
            for(size_t i = index + 1; i < taille; i++) {
                tab[i - 1] = tab[i];
            }
            // La dernière case contient toujours sa valeur, mais tu as juste à décrémenter index dans ton prog principal
        }

        Sinon, tu peux utiliser une liste chainée, qui rend beaucoup plus simple la suppression d'un élément : il suffit de supprimer l'élément et de relier le précédent avec le suivant (je sais pas si je suis clair..).

        Mais il faut que tu sache que en programmation, tu ne peux pas toujours avoir un tuto qui répond exactement à tes attentes. Dans ton cas, il te suffit de chercher des informations sur les tableaux (il y en a plein).

        • Partager sur Facebook
        • Partager sur Twitter

        J'aime les bandes dessinées, manhuas, manhwas, mangas, comics... Du coup j'ai fait aralosbd.fr !

          20 juin 2017 à 14:52:56

          Utiliser memmove() restera plus optimiser si le tableau à une certaine taille.
          • Partager sur Facebook
          • Partager sur Twitter
            20 juin 2017 à 15:22:27

            Suivant le contexte et l'utilisation du tableau, une solution pourrait être de marquer l'élément comme non valide au lieu de le supprimer.

            Tu pourrais affecter une valeur (0, -1, tout ce que tu veux) à cet élément indiquant que cet élément n'est pas à prendre en compte.

            A voir ...

            -
            Edité par magma 20 juin 2017 à 15:27:11

            • Partager sur Facebook
            • Partager sur Twitter
              20 juin 2017 à 19:27:35

              Salut,

              si la table n'est pas classée, tu peux aussi simplement remplacer la valeur à supprimer par la dernière.

              Dans ma signature, tu as un jeu de fonctions sur les tables dynamiques.

              Bonne continuation.

              • Partager sur Facebook
              • Partager sur Twitter

              Bonhomme !! | Jeu de plateforme : Prototype.

              Supprimer élément tableau

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown