Texte : lettres mélangé

Linkman Messages postés 113 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 24 juin 2009 - 17 déc. 2003 à 16:19
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 - 18 déc. 2003 à 16:05
Bonjour !
Je suis débutant en C, é il faut ke je fasse un programme qui lit un fichier texte, bon ça j'y arrive, mé il fodré ke en même temps, il analyse chake mot pr mélanger les lettres tout en gardan la première et la dernière à la même place genre
Le Bateau fodré ke sa face Le Btaaeu...
Comment faire... ??? :o/
Merci d'avance !!!
++
A voir également:

2 réponses

cmarsc Messages postés 455 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 18 décembre 2003
18 déc. 2003 à 12:15
salut,
alors tu sauvegardes la 1ère et la dernière la lettre dans un tableau ou un pointeur
char *tableau;
tableau[0] ="B"
tableau[6] = "u"
puis tu mélanges les lettres qui sont entre elles
pour la dernière lettre c'est la longueur_du_mot - 1
utilises strlen <string.h> pour connaitre sa longueur
0
hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
18 déc. 2003 à 16:05
tiens c'est cadeau (avec mélange aléatoire)

#include <string.h>
#include <stdlib.h>
#include <time.h>
#include 

void melange(char *);

int main(int argc, char* argv[])
{
char temp[100];
strcpy(temp,"bateau");
cout << temp << " devient : " ;
melange(temp);
cout << temp << "\n";
return 0;
}

void melange(char *chaine)
{
srand( (unsigned)time( NULL ) );

int longueur = strlen(chaine);
char *temp = new char[longueur];
strcpy(temp,chaine+1);
temp[longueur-2]='\0';

int * tab = new int[longueur-2];
int nombreHasard;int i 0, j 0;
bool ok;
for (i=0;i<longueur-2;i++)
{
ok = false;
j=0;
nombreHasard = (int) rand() % (longueur-2);
while (!ok)
{
while (j=i)
{
tab[j] = nombreHasard;
ok = true;
}
else
{
nombreHasard = (int) rand() % (longueur-2);
j=0;
}
}
}
for (i=0;i<longueur-2;i++)
{
chaine[tab[i]+1] = temp[i];
}
delete temp;
delete tab;

}

0
Rejoignez-nous