Chaîne caractere

Fermé
bahich Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 8 novembre 2009 - 29 juin 2009 à 00:50
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 29 juin 2009 à 08:38
Bonjour,
ecrire un programme c qui fait entrer une chaïne de caractere ch1 et qui teste si c'est .
RAPPEL: un palindrome est un mot qui reste le même qu'on le liste de gauche a droite ou de droite a gauche.
et merci

6 réponses

Mastaking Messages postés 35 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 5 septembre 2011 14
29 juin 2009 à 00:55
Bonjour,

honnetement, je ne comprends rien a ce que tu demande ?
C'est quoi ton probleme, l'enoonce est tronque ou alors il consiste a verifier si une chaine de caracteres represente un palindrome ou non ?
Et dans quel langage de programmation travaille=tu ?

edit : je pense avoir compris. Tu veux realiser un programme en C (du moins une fonction) qui recoit en parametre une chaine de caractere et te dit si cette chaine de caractere est un palindrom ou non.
Faut que je ressorte mais vieux livre poussiereux de c mais c'est relativement simple.
0
bahich Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 8 novembre 2009
29 juin 2009 à 01:42
je veux cherche la reponce de se exercice
0
bahich Messages postés 5 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 8 novembre 2009
29 juin 2009 à 01:13
ecrire un programme c qui fait entrer une chaïne de caractere ch1 et qui teste si c'est .
RAPPEL: un palindrome est un mot qui reste le même qu'on le liste de gauche a droite ou de droite a gauche.
ce langage on programme c
et merci
0
Mastaking Messages postés 35 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 5 septembre 2011 14
29 juin 2009 à 01:47
Oui mais ce que je voulais connaître c'est le contexte dans lequel tu écris ton programme, une application console ou pas, le code doit être dans une fonction ou tout simplement dans un main ?

bref dans tout les cas le code ne devrait pas trop différer de ceci (a toi de l'adapter en fonction de ce qu'il te faut ) :


#include <iostream.h>
#include <string.h>

main(){

//Tu cree un tableau de caractere de la longueur que tu veux +1 --> une des valeurs du tableau est utilisee (le "\0")
char chaine1[31];
int palindrome = 1; //0 = false et 1 = true

cout << "Entrez une chaine de caracteres";
cin >> chaine1;
//ou cin.getline(chaine, 31) mais dans le cas d'un mot ca ne nous interesse pas.

//on recupere la taille de la chaine de caractere rentree
int taille = strlen(chaine1);
char chaine2[31];
strcpy(chaine2, chaine1); //copie le contenue de chaine1 dans chaine2

//on initialise nos deux "pointeurs"
int x = taille-1;
int y = 0;

do {
//on parcours les deux tableaux dans des sens oppose et on verifie leur egalite
//ps: definition du palindrome
if(chaine1[x] != chaine2[y]){
palindrome = 0;
}
//on bouge nos "pointeurs"
x--;
y++;
} while(x != y);

if(palindrome == 0){
cout << "Il ne s'agit pas d'un palindrome";
}
else {
cout << "Il s'agit d'un palindrome";
}

return 0;
}
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 817
29 juin 2009 à 06:19
Salut,
Ton programme, c'est du C++ et non du C ;-))).
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 817
29 juin 2009 à 06:24
Salut,
Poste-nous ce que tu as fait qu'on puisse t'aider.
(Ici, on ne donne pas les solutions toutes faites car contraire à la charte).

Remarque : Le principe donné par Mastaking est correct. Mais, d'une c'est du C++ et non du C, et tu n'as pas besoin de passer par un tableau supplémentaire.

Voilà, tu devrais pouvoir t'en sortir ;-))).
Cdlt
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mastaking Messages postés 35 Date d'inscription samedi 10 mars 2007 Statut Membre Dernière intervention 5 septembre 2011 14
29 juin 2009 à 07:35
Bonsoir,

je sais que je n'utilise pas forcement ce qu'il y a de plus basique pour ce code mais ca reste du C.
Et en effet mon code est loin d'etre optimise, il faut maintenant que tu l'adapte a ce qui te convient mais tu as la logique. (tu peux en effet faire varier x et y avec le meme tableau mais dans un reflexe de structure favorable au refactoring moi je prefere le faire en deux tableaux.....meme si c'est discutable)

pour un rappel sur le C ce site me semble pas mal :
http://www-ipst.u-strasbg.fr/pat/program/tpc.htm
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 817
29 juin 2009 à 08:38
Tu me diras quel compilateur C accepte cout et cin..
Par contre j'en connais plein de compilateur C++ qui les acceptent.
0
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 901
29 juin 2009 à 07:39
0
Kharec Messages postés 4143 Date d'inscription dimanche 20 avril 2008 Statut Contributeur Dernière intervention 8 mai 2011 509
29 juin 2009 à 07:48
0