Chaîne caractere

bahich Messages postés 5 Statut Membre -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
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
Configuration: Windows XP
Firefox 3.0.11

6 réponses

  1. Mastaking Messages postés 36 Statut Membre 14
     
    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
    1. bahich Messages postés 5 Statut Membre
       
      je veux cherche la reponce de se exercice
      0
  2. bahich Messages postés 5 Statut Membre
     
    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
  3. Mastaking Messages postés 36 Statut Membre 14
     
    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
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Salut,
      Ton programme, c'est du C++ et non du C ;-))).
      0
  4. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mastaking Messages postés 36 Statut Membre 14
     
    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
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Tu me diras quel compilateur C accepte cout et cin..
      Par contre j'en connais plein de compilateur C++ qui les acceptent.
      0