Problème tri d'un vecteur

Signaler
Messages postés
24
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
26 avril 2007
-
Messages postés
63
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
27 avril 2013
-
Voilà j'ai un petit problème j'arrive pas à trier mon vecteur (selon un ordre croissant)
Voilà un bout de mon algo donc si vous pouviez m'aider svp.....

#include
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <vector>
using namespace std ;
int hasard(int min, int max, int prec)
{srand(time(NULL)+prec);
int nb;
nb=rand() % (max-min) + min;
return nb; }
main ()
{ int a, b, c, d, e, i, n, p, j, temp ;
vector vect(5) ;
a=hasard(min, max, 1);
b=hasard(min, max, a);
c=hasard(min, max, b);
d=hasard(min, max, c);
e=hasard(min, max, d);
vect[1]=a;
vect[2]=b;
vect[3]=c;
vect[4]=d;
vect[5]=e;
(c'est cette partie qui marche pas...)
for (i= =1; i= =4; i++)
{for (j= =i; j= =5; j++)
{if (vect[i]>vect[j])
{temp= =vect[i];
vect[i]= =vect[j];
vect[j]= =temp;}
}
}

et quand je mets
 
cout<<vect[1]<<vect[2]<<vect[3]<<vect[4]<<vect[5]; ça me les affiche pas dans l'ordre

7 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
{temp= =vect[i];
vect[i]= =vect[j];
vect[j]= =temp;}

Ces opérations ne font rien, ce sont juste des tests d'égalité.
J'imagine que tu veux faire des affectations, il faut donc écrire un seul =

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
24
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
26 avril 2007

oh oh j'avais pas vu merci !
Messages postés
24
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
26 avril 2007

Dsl mais ça marche toujours pas !
Messages postés
24
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
26 avril 2007

C'est bon j'ai trouvé faut faire avec : sort (vect.begin(), vect.end());
Messages postés
63
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
27 avril 2013

Salut
je pense que ça va t'aider..
voilà le signe d'affectation(=)et celui là (= =) c un signe d'egalite
for (i= 1; i<=4; i++)
{for (j= i+1; j<=5; j++)
{if (vect[i]>=vect[j])
{temp= vect[i];
vect[i]= vect[j];
vect[j]= temp;}
}
}
Et il faut voir aussi la complixcité de cette algo...

Salut
Messages postés
24
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
26 avril 2007

Merci beaucoup
Messages postés
63
Date d'inscription
dimanche 18 mars 2007
Statut
Membre
Dernière intervention
27 avril 2013

Salut ..


De rein ...mon ami