C probleme code fonction inverse
Résolu/Fermé
capa57
Messages postés
352
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
26 mai 2016
-
9 déc. 2011 à 13:40
capa57 Messages postés 352 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 26 mai 2016 - 10 déc. 2011 à 09:47
capa57 Messages postés 352 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 26 mai 2016 - 10 déc. 2011 à 09:47
A voir également:
- C probleme code fonction inverse
- Annuaire inversé - Guide
- Fonction si et - Guide
- Ecran inversé - Guide
- Code asci - Guide
- Annuaire inversé suisse ✓ - Forum Mail
5 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 835
9 déc. 2011 à 22:34
9 déc. 2011 à 22:34
Merci d'éviter les double post.(https://forums.commentcamarche.net/forum/affich-23852233-c-probleme-code-fonction-inverse
Ca évitera que je me fatigue à écrire ailleurs...
Ca évitera que je me fatigue à écrire ailleurs...
capa57
Messages postés
352
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
26 mai 2016
13
10 déc. 2011 à 09:47
10 déc. 2011 à 09:47
J'ai réussi merci
void inverse_chaine(const char chaine[MAX], char inv[MAX])
{
int i = 0;
int j =longueur_chaine(chaine)-1;
for (i = 0 ; i < MAX ; i++)
{
inv[i] = 0;
}
for(i=0;chaine[i]!='\0';i++)
{
inv[i]=chaine[j];
j--;
}
}
//appel dans le main
inverse_chaine(chaine1, inverse_chaine1);
printf("chaine 1 : %s\nchaine inverse: %s \n\n", chaine1 , inverse_chaine1);
void inverse_chaine(const char chaine[MAX], char inv[MAX])
{
int i = 0;
int j =longueur_chaine(chaine)-1;
for (i = 0 ; i < MAX ; i++)
{
inv[i] = 0;
}
for(i=0;chaine[i]!='\0';i++)
{
inv[i]=chaine[j];
j--;
}
}
//appel dans le main
inverse_chaine(chaine1, inverse_chaine1);
printf("chaine 1 : %s\nchaine inverse: %s \n\n", chaine1 , inverse_chaine1);
ScorpionViolet
Messages postés
1289
Date d'inscription
samedi 3 décembre 2011
Statut
Membre
Dernière intervention
2 octobre 2012
169
9 déc. 2011 à 14:05
9 déc. 2011 à 14:05
Bonjour,
Quand tu compiles le code, quel est le message d'erreur sur la sortie standart?
Cdt.
Quand tu compiles le code, quel est le message d'erreur sur la sortie standart?
Cdt.
capa57
Messages postés
352
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
26 mai 2016
13
9 déc. 2011 à 17:54
9 déc. 2011 à 17:54
inv[i]=chaine[longueur_chaine(chaine)--];
il me met une erreur sur cette ligne en me disant
error : 1value required as decrement operand
il me met une erreur sur cette ligne en me disant
error : 1value required as decrement operand
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
9 déc. 2011 à 15:23
9 déc. 2011 à 15:23
Salut !!!
Ce code est du charabia ! ça donne pas envie de l'étudier !
Ya déjà des bibliothèques déjà prêtes pour permuter deux chaines de caractères !
Par exemple !
Mettez en résolu quand c'est résolu -.- ...
Ce code est du charabia ! ça donne pas envie de l'étudier !
Ya déjà des bibliothèques déjà prêtes pour permuter deux chaines de caractères !
Par exemple !
#include <stdio.h> #include <string.h> int permuterChaines(char chaine1[],char chaine2[]) { char help[60]; if(strlen(chaine1) != strlen(chaine2)) { return 0; } strcpy(help,chaine1); strcpy(chaine1,chaine2); strcpy(chaine2,help); return 1; } int main(int argc, char *argv[]) { char chaine1[] = "Bonjour"; char chaine2[] = "Bonsoid"; if(permuterChaines(chaine1,chaine2)) printf("Chaine 1 : %s\nChaine 2 : %s",chaine1,chaine2); else printf("Tailles des chaines differentes, permutation impossible !"); return 0; }
Mettez en résolu quand c'est résolu -.- ...
ScorpionViolet
Messages postés
1289
Date d'inscription
samedi 3 décembre 2011
Statut
Membre
Dernière intervention
2 octobre 2012
169
9 déc. 2011 à 15:40
9 déc. 2011 à 15:40
et si ta chaine de caratère est supérieure à help[60] ? ça va seg fault ...
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 9/12/2011 à 16:06
Modifié par JooS le 9/12/2011 à 16:06
Ben reste qu'a l'optimiser ! : )
int permuterChaines(char chaine1[],char chaine2[]) { char *pnt = NULL; if(strlen(chaine1) != strlen(chaine2)) { return 0; } pnt = (char*) malloc(sizeof(chaine1)); if(pnt == NULL) return 0; strcpy(pnt,chaine1); strcpy(chaine1,chaine2); strcpy(chaine2,pnt); free(pnt); return 1; }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
capa57
Messages postés
352
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
26 mai 2016
13
9 déc. 2011 à 17:53
9 déc. 2011 à 17:53
en fait ce que je voudrais faire...
c'est avec ma chaine1 (par exemple : bonjour)
mettre dans chaine2 l'inverse (il me mettra "roujnob")
c'est avec ma chaine1 (par exemple : bonjour)
mettre dans chaine2 l'inverse (il me mettra "roujnob")
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
9 déc. 2011 à 20:22
9 déc. 2011 à 20:22
Et t'as voulu faire ça en une 50aine de lignes !!! :s
void inverserChaine(char chaine[]) { char car; int i, taille = strlen(chaine); for(i=0; i<taille/2; i++) { car = chaine[i]; chaine[i] = chaine[taille-i-1]; chaine[taille-i-1] = car; } } int main(int argc, char *argv[]) { char chaine1[] = "Bonjour"; inverserChaine(chaine1); printf("%s",chaine1); return 0; }
capa57
Messages postés
352
Date d'inscription
lundi 30 juin 2008
Statut
Membre
Dernière intervention
26 mai 2016
13
10 déc. 2011 à 09:23
10 déc. 2011 à 09:23
oui mais là tu remplaces la même chaîne, moi je voudrais avoir une chaine 1 , et dans une chaine 2 mettre l'inverse de la chaine 1