[C++] Comparateur : comment faire ?

Fermé
Nico - 12 avril 2005 à 16:40
 Nico - 13 avril 2005 à 18:12
Salut !

Il me faudrait comparer des valeurs dans un programme fait en C++, hors, en tant que bon débutant, je ne sais pas comment faire la comparaison.

On m'a dit que ce n'était pas très compliqué, mais voilà, je patauge...

Est-ce que quelqu'un pourrait m'expliquer la chose ?

Pour être plus précis :
choix[0]=2;
choix[1]=7;
choix[2]=1;
choix[3]=4;
choix[4]=3;

Disons que j'ai ça comme valeurs en mémoire, et que j'aimerais qu'à l'affichage, elles soient classées correctement.

Un gran merci d'avance à qui pourra m'aide...
Nico
A voir également:

7 réponses

kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
12 avril 2005 à 17:17
Je récolte le grand merci d'avance alors (lol) mais c'est pas pour te simplifier la tache :
Tu ne peux pas trier ton tableau comme , ou alors peut être ya t-il une fonction qui existe déjà et qui le fait mais ca m'étonnerais !!

Voilà ce que je te propose : créer une liste chainée pour pouvoir triée les élément par la suite ! Le problème c'est que tu ne connais peut eetre pas les listes chaînée ?
Dans ce cas, je peut t'aider, mais d'ici qq minutes car je pars du boulot alors le tems que je reviennent chez moi ....
0
Je n'ai pas encore eu à m'intéresser aux listes chaînées, mais j'ai vu plusieurs choses sur le net s'y rapportant.

Après, si tu veux me l'expliquer, je ne cracherai pas dessus, c'est toujours plus clair, vivant que des exos sur le net...

En tout cas, merci !
0
Salut :-)

Ne crois-tu pas qu'il y aurait beaucoup plus simple que les listes chainées ? (quoique je dis ça, mais je ne connais rien dans les listes chainées... honte à moi =) ) Je te propose une petite méthode de tri, à voir si elle marche en vrai, car sur le papier elle marche ;-)

int buffer[5]; //bon il faut le remplir je te laisse le soin de le faire =)
int tmp=0;
for(int i = 4;i != 0; i--)  
    {       
        for(int j = 0;j < i;j ++)      
        {           
            if(buffer[j] > buffer[j+1])         
            {                           
                tmp = buffer[j];             
                buffer[j] = buffer[j+1];                
                buffer[j+1] = tmp;
            }
        }
    }

Le but de la méthode est de comparer les entiers l'un avec le suivant, et les interchanger si celui d'indice j est plus grand que celui de j+1.
Je crois me souvenir que cette méthode s'appelle le tri à bulle.

++
0
kij_82 Messages postés 4089 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
13 avril 2005 à 00:16
Je suis ok la dessus, pourquoi faire une liste alors qu'il y a le tri à bulle et d'autre... mais je suis un adepte des liste chainée en fait, chose qui n'est pas le plus rapide forcément, la preuve !

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bon, je te pardonne pour cette fois, lol =)
Mais c'est vrai que le peu que j'ai vu sur les listes chainées, ça m'a l'air d'être un outil bien puissant pour résoudre certains problèmes. Faudrait que je m'y penche sérieusement un de ces 4 =)

++
0
Les algo de tris sont discuté ici, et encore plus sur d'autres sites du Net...

en C++, hors, en tant que bon débutant, je ne sais pas comment faire la comparaison.


Les opérateurs sont les suivants :
== : égalité
!= : différence
< : inférieur
<= : inférieur ou égal
>, >= : évident.

On écrit donc :
if (value1 == value2) {
...
0
Merci les gens :)
Je vais essayer ça.
0