Programmation en C , inversement chaines
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 à 18:46
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:
- Programmation en C , inversement chaines
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Application de programmation - Guide
- Nouvelles chaînes tv 2024 - Accueil - TV & Vidéo
- Impossible d'installer les chaines tv - Forum TV & Vidéo
3 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
9 déc. 2011 à 22:32
9 déc. 2011 à 22:32
Bonjour,
Tout d'abord, il faut inclure #include <stdio.h> et cie dans les premières lignes et non dans un corps de fonction.
taille = longueur_chaine(chaine);
Qu'est-ce que longueur_chaine() ? Il nous faudrait son code, il y a peut-être une erreur aussi à ce niveau.
i = taille;
Inutile puisque tu remets i=taille dans le for.
j++;
Oui, mais que vaut j ? Il n'a jamais été initialisé, sa valeur est donc bidon. Il suffit de mettre j=0 avant le for. C'est cette erreur-là qui te fait tout bugguer.
Cdlt,
Tout d'abord, il faut inclure #include <stdio.h> et cie dans les premières lignes et non dans un corps de fonction.
taille = longueur_chaine(chaine);
Qu'est-ce que longueur_chaine() ? Il nous faudrait son code, il y a peut-être une erreur aussi à ce niveau.
i = taille;
Inutile puisque tu remets i=taille dans le for.
j++;
Oui, mais que vaut j ? Il n'a jamais été initialisé, sa valeur est donc bidon. Il suffit de mettre j=0 avant le for. C'est cette erreur-là qui te fait tout bugguer.
Cdlt,
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:22
10 déc. 2011 à 09:22
J'ai essayé ça mais ça ne fonctionne toujours pas... dans mon résultat il ne m'affiche rien du tout
void inverse_chaine(const char chaine[MAX], char inv[MAX])
{
int i=0, taille, j=0;
taille = longueur_chaine(chaine);
i = taille;
for (i= taille; i>0; i--){
inv[j] = chaine[i];
j++;
}
}
ma fonction longueur chaine est équivalente à strlen en fait je me suis juste amusé à la créer moi même
int longueur_chaine(const char tab[MAX])
{
int i;
for (i = 0; tab[i] != '\0'; i++);
return i;
}
void inverse_chaine(const char chaine[MAX], char inv[MAX])
{
int i=0, taille, j=0;
taille = longueur_chaine(chaine);
i = taille;
for (i= taille; i>0; i--){
inv[j] = chaine[i];
j++;
}
}
ma fonction longueur chaine est équivalente à strlen en fait je me suis juste amusé à la créer moi même
int longueur_chaine(const char tab[MAX])
{
int i;
for (i = 0; tab[i] != '\0'; i++);
return i;
}
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
AHHHHH j'ai trouvé ... il fallait que j'initialise mon tableau en fait :/ (erreur bidon :( )
voici le code
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 de la fonction dans le main
inverse_chaine(chaine1, inverse_chaine1);
printf("chaine 1 : %s\n chaine inverse: %s \n\n", chaine1 , inverse_chaine1);
merci ^^
voici le code
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 de la fonction dans le main
inverse_chaine(chaine1, inverse_chaine1);
printf("chaine 1 : %s\n chaine inverse: %s \n\n", chaine1 , inverse_chaine1);
merci ^^