IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Ordre décroissant en c++.. ?


Sujet :

C++

  1. #1
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Collégien
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 36
    Par défaut Ordre décroissant en c++.. ?
    Bonjour! Je suis entrain de faire un petit programme et je dois générer 10 valeurs aléatoires et ensuite je dois les classer en ordre croissant et décroissant. Je n'arrive pas à les classer en ordre décroissant. Avez-vous une idée? Merci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    #include <iostream.h>
    #include <conio.h>
     
    void tri_iteratif(int tableau[ ], int grosseur) {
        int temp, i, j;
        for (i = 0; i < grosseur; i++)
        for (j = 0; j < grosseur; j++)
        if (tableau[i] < tableau[j]) {
        temp = tableau[i];
        tableau[i] = tableau[j];
        tableau[j] = temp;
        }
    }
     
    main() {
     
        int valeurs[10], i;
        for (i = 0; i < 10; i++)
        valeurs[i] = rand() % 1000;
        tri_iteratif(valeurs, 10);
        for (i = 0; i < 10; i++)
        cout << valeurs[i] << " ";
        cout <<""<<endl;
        cout << "Decroissant: " <<endl;
        cout <<""<<endl;
     
     
    getch();
    return 0;
    }

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 961
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 961
    Par défaut
    Lie,

    Réfléchis un peu : comment les as-tu triés en ordre croissant ?

    Il y a des tests, ça t'inspire ?

  3. #3
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2014
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Collégien
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2014
    Messages : 36
    Par défaut
    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    for (i = 200; i > 0; i--)
    cout << valeurs[i] << " ";
    L'ordre est bel et bien décroissant mais ce ne sont pas les même valeurs que dans l'ordre croissant...

    Merci pour votre aide!

  4. #4
    Membre éprouvé Avatar de KsassPeuk
    Homme Profil pro
    Ingénieur Chercheur
    Inscrit en
    Juillet 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 138
    Par défaut
    Lu'!

    La programmation c'est pas la tambouille magique. Il faut réfléchir un peu.

    Donc tu prends un papier et un crayon, tu dessines tes tableaux et tu regardes comment tu t'y prends pour mettre les cases dans le bon ordre.

    Deux indices :
    • le principe d'un tri c'est de déterminer pour chaque élément s'il se trouve avant ou après d'autres, donc avoir une fonction qui nous dit si a "est avant"* b, ça peut aider,
    • les algorithmes de tri croissant et décroissant sont les mêmes, la seule chose qui change c'est comment on détermine qui est avant/après

    * j'ai bien mis "est avant", pas plus petit, ou plus grand.

  5. #5
    Membre chevronné
    Profil pro
    Consultant en technologies
    Inscrit en
    Octobre 2013
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies

    Informations forums :
    Inscription : Octobre 2013
    Messages : 158
    Par défaut
    1) Je suppose que le but de l'exo c'est d'implémenter un algo de tri (Sinon std::sort le fait très bien) mais bon ton code est pas très C++ mais passons
    2) Il sort d'où le 200 dans le code que tu donne, je croyais que ton tableau avait 10 cases ? Si tu tapes hors d'un tableau le code va compiler, par contre suivant le compilateur et l'OS tu auras soit des valeurs aléatoires (Ce qu'il reste dans la mémoire à cet endroit), soit un crash
    3) Regarde ta fonction de tri, il y a une modif mineure à faire pour passer d'un tri comme ca < à un tri comme ca > (je vais pas en dire plus, c'est en galérant qu'on apprend)
    4) L'autre option c'est effectivement d'afficher les valeurs dans l'ordre inverse (tu avais bien commencé pourtant)

  6. #6
    Invité de passage
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2014
    Messages : 1
    Par défaut En ordre Croissant
    Hi ,


    en ordre croissant :

    par exemple j'ai un tableau T

    2 6 1 5 4 8

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    for (i=0;i<=41;i++)
    {
        for (j=i+1 ;j<=5;j++)
        {
            if T[i]>T[f]
            {
                x=T[i]
                T[i]=T[j]
                T[j]=x
            }
        }
    }

Discussions similaires

  1. [MySQL] Affichage des dates par ordre décroissant
    Par ash_rmy dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/03/2007, 13h01
  2. Corriger cet Algo et trier les éléments du tableau en ordre décroissant
    Par PIMPMAX dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 07/01/2007, 19h25
  3. enregistrements en ordre décroissant
    Par chouchou60 dans le forum Access
    Réponses: 2
    Dernier message: 27/07/2006, 16h06
  4. Trier les données dans 1 tableau par ordre décroissant
    Par Blunet dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 23/11/2005, 09h56
  5. [MySQL] Ordre décroissant des enregistrements
    Par ecoinfo dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/10/2005, 03h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo