Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Aide] Formation en C exercice 5 des tableaux.

Sujet résolu
    22 octobre 2019 à 16:42:39

    Bonjour, bonsoir !

    Actuellement je suis la formation de programmation en C et je bloque sur les tableaux, plus précisément l'exercice 5, ou je doit créer un tableau qui classe les différentes valeurs dans un ordre croissant.

    Malheureusement pour moi je ne comprend pas bien comment faire...

    J'ai donc chercher sur de vieux post sur le forum qui traite déjà du sujet mais je ne comprend toujours pas, car les explications sont un peux complexes pour moi et je ne suis pas très rapide quand il s'agit d'apprendre...

    J'ai donc retrouver une fonction de se style :

    void ordonnerTableau(int tableau[], int tailleTableau)
    {
        int i = 0, j = 0, temp = 0;
      
        for (i=0; i < tailleTableau ; i++)
        {
            for (j=0; j < tailleTableau ; j++)
            {
                if (tableau[i] < tableau[j])
                {
                    temp = tableau[i];
                    tableau[i] = tableau[j];
                    tableau[j] = temp;
      
                }
      
            }
            afficherTableau(tableau);
        }
    }

    J'ai réussi tout les autres tableaux, en me plantant 2-3 fois mais lui c'est la vraie galère !

    Je ne comprend pas comment la boucle fonctionne... 

    J'en est aussi trouver d'autre mais celle la est la plus "claire" a mes yeux. 

    Merci de votre temps,

    Un élève en quête de savoir.

    • Partager sur Facebook
    • Partager sur Twitter
      22 octobre 2019 à 16:47:18

      Pour en comprendre l'algorithme, fais une recherche avec les mots-clé "tri à bulle".

      Ca devrait t'expliquer comment fonctionnent les boucles.

      PS: le code que tu as trouvé n'est pas idéal car il peut facilement être optimisé, notamment sur la 2ème boucle for . Il n'y a plus besoin de reparcourir tout le tableau car une partie est déjà triée.

      -
      Edité par zoup 22 octobre 2019 à 16:49:41

      • Partager sur Facebook
      • Partager sur Twitter
        22 octobre 2019 à 16:52:51

        Merci beaucoup je vais voir se qu'est donc le "tri à bulle" !

        • Partager sur Facebook
        • Partager sur Twitter
          22 octobre 2019 à 17:16:16

          Ce programme correspond plutôt à un algorithme de tri par sélection.

          https://fr.wikipedia.org/wiki/Tri_par_s%C3%A9lection

          • Partager sur Facebook
          • Partager sur Twitter

          Sevla

            22 octobre 2019 à 18:24:49

            Sevla a écrit:

            Ce programme correspond plutôt à un algorithme de tri par sélection.

            https://fr.wikipedia.org/wiki/Tri_par_s%C3%A9lection

            Non, car dans le tri par sélection, on recherche le rang du plus petit (ou du plus grand), pour l'échanger avec l'élément à mettre en place. La boucle externe n'effectue donc qu'une permutation au maximum à chaque tour.

            Ici, on permute à chaque fois qu'on rencontre 2 éléments consécutifs non ordonnés: c'est donc un tri à bulles.

            • Partager sur Facebook
            • Partager sur Twitter
              22 octobre 2019 à 18:50:16

              Hey ! Merci à vous tous j'ai réussi mon programme et maintenant je découvre les différents types d'algorithme de tri c'est assez passionnant !

              -
              Edité par Wintrack 22 octobre 2019 à 18:51:57

              • Partager sur Facebook
              • Partager sur Twitter

              [Aide] Formation en C exercice 5 des tableaux.

              × 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