Question tres simple ! (mot mystere, du Sdz)

mathlo95 -  
 totof31 -
Bonjour,
Ca ne marche pas :/ Une idée du pourquoi? Apres, une serie de test, je crois que j'utilise mal la boucle et le random ensemble... merci d'avance :)


#include <iostream>
#include <string>
#include <ctime>
#include <cstdlib>

using namespace std;

string mot_saisi = "", mot_melange = "";
int main()
{
cout << "Saissisez un mot : " ;
cin >> mot_saisi;
//mot_melange = melange(mot_saisi);
srand(time(0));
for (int i=0; i < mot_saisi.size(); i++){
int position = rand() % mot_saisi.size();
cout<<position;
mot_melange[i] = mot_saisi[position];
mot_saisi.erase(position, 1);
}
cout << mot_melange;
return 0;
}


A voir également:

3 réponses

totof31 Messages postés 163 Date d'inscription   Statut Membre Dernière intervention   74
 
Salut,
Comme ça, je dirais que ça vient de là :
for (int i=0; i < mot_saisi.size(); i++){

mot_saisi.size change au fur et à mesure, donc tu ne parcours jamais ta chaine entière. Tu peux sauver la valeur dans une autre variable par exemple :
temp_len = mot_saisi.size();
for (int i=0; i < temp_len; i++){
0
mathlo
 
Parfois je me dis que je devrais réfléchir un peu plus.... :p Merci beaucoup de ton aide :)
0
totof31
 
Avoir plaisir et merci pour le retour
0