cs_lewan
Messages postés1Date d'inscriptiondimanche 20 février 2011StatutMembreDernière intervention20 février 2011
-
20 févr. 2011 à 10:20
cs_Chouchou182
Messages postés252Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention25 avril 2011
-
21 févr. 2011 à 12:00
bonjour,
voilà j'ai écris une fonction me permettant de mélanger un mot!!
Dans un premier temps je crée un dictionnaire de mot aléatoire et dans un second temps je crée une fonction qui mélange se mot.
Je me retrouve avec un problème lors de la compilation mon mot se trouve tronqué!!
Il semble y avoir un problème dans mes boucles for où la longueur de mon mot que je souhaite calculer n'est pas mis à jour!!! auriez vous une idée???
copieChaine=malloc(sizeof(char)*(longueur_mot+1));//on crée une chaine de caractere qui aura la même taille que notre chaine initiale
motReponse=malloc(sizeof(char));
for(i=0;i<longueur_mot;i++){
c=rand()%(longueur_mot);//on cherche à obtenir un nombre aléatoire compris etre 0 et la longueur de la chaine étudiée
copieChaine[i] =motinitial[c]; //on copie le caratere de la position aléatoire dans notre chaine copie
for(j=c;j<longueur_mot;j++){
motinitial[j]=motinitial[j+1]; //le dernier caractere de notre chaine prend la place du caratere à la position "c", ainsi à chaque tour de boucle le caratere est éliminé
//motinitial[j+1]='\0';
motinitial[longueur_mot]='\0';
}
Remarque annexe : tu peux te passer d'initialiser le générateur de
nombre aléatoires (appel à srand) plusieurs fois. Une fois (par exemple
au début de main) suffit.