Problème tri d'un vecteur

cs_Etoiline Messages postés 24 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 26 avril 2007 - 21 avril 2007 à 16:33
abdelkaderg54 Messages postés 63 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 27 avril 2013 - 25 avril 2007 à 23:37
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

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 12
21 avril 2007 à 17:08
{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
0
cs_Etoiline Messages postés 24 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 26 avril 2007
21 avril 2007 à 18:05
oh oh j'avais pas vu merci !
0
cs_Etoiline Messages postés 24 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 26 avril 2007
21 avril 2007 à 21:23
Dsl mais ça marche toujours pas !
0
cs_Etoiline Messages postés 24 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 26 avril 2007
21 avril 2007 à 22:24
C'est bon j'ai trouvé faut faire avec : sort (vect.begin(), vect.end());
0

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

Posez votre question
abdelkaderg54 Messages postés 63 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 27 avril 2013
25 avril 2007 à 11:32
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
0
cs_Etoiline Messages postés 24 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 26 avril 2007
25 avril 2007 à 12:59
Merci beaucoup
0
abdelkaderg54 Messages postés 63 Date d'inscription dimanche 18 mars 2007 Statut Membre Dernière intervention 27 avril 2013
25 avril 2007 à 23:37
Salut ..


De rein ...mon ami
0