Melangeur de mot [Résolu]

Signaler
Messages postés
7
Date d'inscription
mercredi 23 novembre 2005
Statut
Membre
Dernière intervention
2 décembre 2005
-
Messages postés
7
Date d'inscription
mercredi 23 novembre 2005
Statut
Membre
Dernière intervention
2 décembre 2005
-
salut

j'ai un projet a faire en C++ (en iut info 1année) c'est un melangeur de mot dans un texte .

il doit melanger les lettres à l'interieur de mots (si le mot fait plus
de 3 caracteres il ne doit po melanger la premiere et derniere lettre
de ce mot et il ne doit po toucher au ponctuation du texte )apres avoir
entré le texte .

je m' etais fais un bon petit algo mais lors du passage ne c++ et plus pressisément lorsque je le test et bin il marche pas

ca fait une semaine que je le bidouille que je le réécris différamment mais rien tjrs le meme résultat "ca marche pas "

alors voila mon programme j'implore votre aide avant de petter un boulon (je precise c'est mon premier vrai programme )

(excusez la mise en forme j'ai copier le cpp d'emacs sous linux sous
mon winc pour poster depuis window qui la lu en bloc note dc j'ai remis
en forme vite fait y a p-e une parentèse qui manque ^^)







#include

#include <stdlib.h>

#include <string.h>

#include <time.h>



using namespace std;

string melangeur(string maChaine);

int main(){

char monChar;

string maChaine;

cout<<"entrez votre phrase à mélangée :"<<endl;



while(cin.good()){



cin.get(monChar);

maChaine.push_back(monChar);



}

melangeur( maChaine );

}



string melangeur(string maChaine){



char stop ;

string maChaineMelange;

char recherche =' ';

char recherche2='\0';

int debut,fin,alea,i,j,b;



srand(time(NULL));

debut=0;



while(fin!=stop){



fin=maChaine.find(recherche ||recherche2,debut);

if((fin-debut)<=1){

maChaineMelange[debut]=maChaine[debut];

}

else

{

if((fin-debut)<=3){

for(i=debut;i<fin;i++){

b=i;

alea=(rand()%(fin-debut+1))+debut;

maChaineMelange[i]=maChaine[alea];



for(j=debut;j<b;j++){



if(maChaineMelange[j]==maChaine[i]){

i--;

}

}

}

}

else

{



maChaineMelange[debut]=maChaine[debut];


maChaineMelange[fin-1] =maChaine[fin-1];



for(i=(debut+1);i<(fin-1);i++){

b=i;



alea=rand()%((fin-1)-(debut+1))+(debut+1);



maChaineMelange[i]=maChaine[alea];





for(j=(debut+1);j<b;j++){





if(maChaineMelange[j]==maChaine[i]){



i--;



}

}



}

}



}



maChaineMelange[fin]=maChaine[fin];

debut=fin+1;

if(fin = = '\0'){

fin=stop;

}

maChaineMelange[fin+1]='\0';

cout<<maChaineMelange;



}





si vous voyez ce qui marche po ou se que j'utilise mal n'hesitez po a bien expliquer car je suis vraiment un debutant

3 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
120
Pose ta question sur le forum de cppfrance.com, tu auras plus de chance d'avoir des réponses !

_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 179 internautes nous ont dit merci ce mois-ci

Messages postés
883
Date d'inscription
vendredi 3 novembre 2000
Statut
Membre
Dernière intervention
3 mars 2009
7
Heu, c'est pas le forum vb à la base ici ?
Messages postés
7
Date d'inscription
mercredi 23 novembre 2005
Statut
Membre
Dernière intervention
2 décembre 2005

dsl pour la boulette j'avais po fais gaffe^^