Soutenez-nous
Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 2
    Points : 0
    Points
    0

    Par défaut Déterminer si une phrase est un palindrome

    Bonjour,
    Suite à de petit problème de santé, je n'ai pu suivre certain cour. Et malheureusement pour moi, nous avons reçu comme travail de fin d'étude un programme a faire. Mais je suis bloquer comme vous pouvez le voir : au moment où je dois comparer le 1er caractère avec le 2ème et ensuite dire si oui ou non le mot ou la phrase est un palindrôme. HELP ME

    PROGRAMME:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    program ProjetPalindrome;
     
    var phraseA : string;           //Variable A
        phraseB : string;           //Variable B
        phraseC : string;           //Variable C
        phraseD : string;           //Variable D
        i : integer;                //Variable de contrôle
        phraseE : string;
     
    begin
         //Lecture phrase de départ
         write('Entrer la phrase : ');
         readln(phraseA);
     
         //Convertion en majuscule
         phraseB := UpCase(phraseA);
     
         //Conversion en mot sans accents avec le code ascii
         phraseC:='';
         for i:=1 to length(phraseB) do
         begin
            case ord(phraseB[i]) of
              130,138,136,137,144,210,211,212 : begin
                                   phraseC := phraseC + 'E';
                                end;
              135 : begin
                                   phraseC := phraseC + 'C';
                                end;
              139,140,214,215,216: begin
                                   phraseC := phraseC + 'I';
                                end;
              131,132,133,134,142,181,182,183 : begin
                                   phraseC := phraseC + 'A';
                                end;
              129,150,151,154,163,233,234,235 : begin
                                   phraseC := phraseC + 'U';
                                end;
              147,148,149,153,162,224,226,227 : begin
                                   phraseC := phraseC + 'O';
                                end;
              152,236,237 : begin
                                   phraseC := phraseC + 'Y';
                                end;
            else
               phraseC := phraseC + phraseB [i];
            end;
         end;
     
         //Ne garde que les lettres si situant entre A et Z, plus d'espace
         phraseD :='';
         for i:=1 to length (phraseB) do
             if (phraseC[i]>='A') and (phraseC[i]<='Z') then
                phraseD := phraseD + phraseC[i];
     
         writeln(phraseD);
     
         //Inverse les lettres de la fin au début
         phraseE :='';
         for i:= length (phraseD) downto 1 do
         phraseE:= phraseE + phraseD[i];
     
         readln;
    end.

  2. #2
    Rédacteur
    Avatar de Roland Chastain
    Homme Profil pro Roland Chastain
    Inscrit en
    décembre 2011
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Nom : Homme Roland Chastain
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 084
    Points : 2 128
    Points
    2 128

    Par défaut

    Tu as fait le plus difficile. Qu'est-ce qui t'arrête ?

    Quelque chose me dit que tu auras résolu le problème de toi-même lorsque tu liras ce message. Autrement je crois que tu as bien mérité un petit coup de pouce.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
         //Inverse les lettres de la fin au début
         phraseE :='';
         for i:= length (phraseD) downto 1 do
         phraseE:= phraseE + phraseD[i];
     
         // affichage des résultats
         // pour détecter une éventuelle erreur
         writeln('Phrase A :', phraseA);
         writeln('Phrase B :', phraseB);
         writeln('Phrase C :', phraseC);
         writeln('Phrase D :', phraseD);
         writeln('Phrase E :', phraseE);
     
         // conclusion
         writeln('Palindrome, oui ou non ?');
         if phraseE = phraseD then
           writeln('Oui.')
         else
           writeln('Non.');
     
         readln;
    end.
    L'Art est long et le Temps est court.

  3. #3
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 2
    Points : 0
    Points
    0

    Par défaut Merci beaucoup

    Bonjour,
    Je te remercie pour cette réponse rapide et tellement correct que j'en pleure en se moment. Un grand merci Roland pour cette aide d'une valeur incroyable, alors encore une fois merci

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •