Se connecter avec
S'enregistrer | Connectez-vous
Votre question

[ C ] Inverser une chaine de caractere

Dernière réponse : dans Programmation
Partagez
20 Mai 2006 22:23:11

Bonjour,
je souhaiterai inverser une chaine de caractere mais je sais pas comment faire.

azer deviendrait reza

Voila d'avance merci
++

Autres pages sur : inverser chaine caractere

20 Mai 2006 22:30:30

c'est facilement faisable en assembleur, alors en C, c'est du gateau :-D

tu prends une variable temporaire de type char qui te permet de faire les permutations, et tu fais les permutations.
20 Mai 2006 22:35:34

C'est pas bien dur... Supposons que tu utilises un tableau non dynamique:

char string1[10];
char string2[10];
int cmp;
int cmp2=0;
/*reste du code*/
for(cmp=strlen(string1)-1;cmp>0;cmp--)
{
string2[cmp2]=string1[cmp];
cmp2++;
}

un truc dans le genre ca devrait marcher, ya peut être des ajustements a faire... Genre pour rajouter le '\0' terminal ou ce genre de trucs... Ou parce que j'aurais fait des erreurs dans le code...


Edit: prends la solution de Cricky, elle est surement mieux.
Contenus similaires
Pas de réponse à votre question ? Demandez !
21 Mai 2006 11:03:33

ça dépend si on veut garder la chaine originale ou pas.
21 Mai 2006 21:15:18

je suis debutant en C alor est-ce que tu pourrais devellopper ton idee cricky stp ?
21 Mai 2006 23:08:35

La technique de Rakipu est plus simple.

sinon, il faut inverse caractère par caractère:
fin = strlen(chaine) - 1;
char temp;

temp = chaine[0];
chaine[0] = chaine[fin];
chaine[fin] = temp;

temp = chaine[1];
chaine[1] = chaine[fin - 1];
chaine[fin - 1] = temp;

Voilà, tu transformes ça en un for qui va jusqu'à la moitié (sinon tu réinverse à nouveau) = strlen(chaine) / 2
22 Mai 2006 19:02:45

dsl mais ca marche pas et j'ai pas compri ce ke tu fait.
parceke en fait j'ai un resultat ki s'appelle resultat2 et ce resultat il faut ke ca soit inverser.

mais avec le code que vous me donner il me met des erreur partout lol
22 Mai 2006 19:08:49

explique toi voir ou copy le code que tu as (ou la fin du code) afin qu'on puisse te guider pour pouvoir inverser ta chaine.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter