Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exercice sur les tableau

ordonnerTableau

    25 décembre 2006 à 3:49:31

    Bonjour, voilà je suis à la fin du chapitre des pointeurs, à la fin des tableaux, j'ai compris le systeme des pointeurs, j'ai voulus m'entrainer sur les tableaux en réalisant les petit exercice que M@teo nous propose à la fin du cours cependant je bloque pour ordonner le tableau en ordre croissant ou décroissant, je ne vois pas du tout comment faire celà.

    Si quelqu'un aurais une piste a me proposer, au niveau ou je suis, me parler pas d'allocation dynamique etc... sa me serais utile :)
    • Partager sur Facebook
    • Partager sur Twitter

    Envie de créer un jeu web? Quelque soit le langage, retrouve la communauté JeuWeb

    Page perso: https://www.maz.digital

      25 décembre 2006 à 4:16:51

      Essaie de décomposer le problème. Ordonner un ensemble de données, qu'est-ce ca signifie concrêtement?

      Passe par une image plutôt que par un tableau, pour commencer, ce sera peut-être plus facile: imagine que tu joues à un jeu de cartes, tu as un certain nombre de cartes dans les mains, qu'on t'a distribué au début du jeu. Avant de commencer à jouer, il faut que tu ranges tes cartes dans l'ordre croissant.
      Qu'est-ce que tu fais, dans ces cas-là, étape par étape?
      Une fois que tu as ces étapes bien décomposées, transpose-les dans le cas d'un tableau de nombres, au fond c'est la même chose.

      Poste ensuite ici ces étapes, qui constitueront l'algorithme de ton programme, on te donnera notre avis. Si c'est suffisament bien décomposé, il ne te restera plus qu'à transformer ces "étapes" en instructions de code, ce qui sera très facile puisque tu auras bien en tête le déroulement de ton programme ;)
      • Partager sur Facebook
      • Partager sur Twitter
        25 décembre 2006 à 5:21:27

        Edit: Eurêka!
        Voici le code, dites moi ce que vous en pensez, ne me demandez pas ce qui m'est passez par la tête, en fait je compares la carte à rangée avec toute les autres carte une par une, si elle est plus grande, on continue la boucle du "u" sinon, elle s'arrête et prend la position de la carte à laquelle on vien de la comparer:
        for (i = 0; i < tailleTableau; i++) // Boucle pour vérifier chaque case du tableau
          {
            for(u = 0; u < tailleTableau; u++) // Boucle pour comparer la case du tableau active avec chaque case du tableau
              {
                if(tableau[i] < tableau[u]) // Si la case active est plus petite que la case à comparer
                  {
                    carteAEchanger1 = tableau[i]; // On stocke les valeurs des cases à inverser dans des variables
                    carteAEchanger2 = tableau[u];
                    tableau[i] = carteAEchanger2; // Et on les inverses
                    tableau[u] = carteAEchanger1;
                  }
              }
          }

        Cependant j'ai un petit probleme pour l'odre décroissant, j'ai normalement qu'a inverser le signe "<" par ">" dans la "Boucle pour comparer la case du tableau active avec chaque case du tableau"

        Cependant, sa ne modifie rien, mon main.c a le tableau, le range par ordre croissant, l'affiche, le range par ordre décroissant, puis le réafiche, cependant, lors de l'affichage apres le rangement en odre décroissant, tout est en ordre croissant!
        Le tableau a etait ordonner correctement en ordre croissant.
        Le contenu de la cellule numero 0 du tableau est: 3
        Le contenu de la cellule numero 1 du tableau est: 5
        Le contenu de la cellule numero 2 du tableau est: 8
        Le contenu de la cellule numero 3 du tableau est: 12
        Le contenu de la cellule numero 4 du tableau est: 15

        Le tableau a etait ordonner correctement en ordre decroissant.
        Le contenu de la cellule numero 0 du tableau est: 3
        Le contenu de la cellule numero 1 du tableau est: 5
        Le contenu de la cellule numero 2 du tableau est: 8
        Le contenu de la cellule numero 3 du tableau est: 12
        Le contenu de la cellule numero 4 du tableau est: 15
        • Partager sur Facebook
        • Partager sur Twitter

        Envie de créer un jeu web? Quelque soit le langage, retrouve la communauté JeuWeb

        Page perso: https://www.maz.digital

          25 décembre 2006 à 7:19:52

          Citation : bluestorm

          Au passage : un tuto sur une autre méthode de tri


          Ma technique ressembles beaucoup à la tiennes, sa me rassures un peu.

          Edit: j'ai trouvé... J'ai mi qu'un seul "=" dans la condition pour l'ordre décroissant, sa risquer pas de marcher, merci en tout cas, vous m'avez beaucoup aider même si vous vous en rendez pas compte :D
          • Partager sur Facebook
          • Partager sur Twitter

          Envie de créer un jeu web? Quelque soit le langage, retrouve la communauté JeuWeb

          Page perso: https://www.maz.digital

          Exercice sur les 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