IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Turbo Pascal Discussion :

Lettres communes de deux mots


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Par défaut Lettres communes de deux mots
    Bonjour,

    J'ai un peu de mal avec cet énoncé :

    On souhaite disposer d'une application permettant d'afficher les lettres
    communes à deux mots tapés au clavier. On suppose que les mots ne
    peuvent pas comporter plus de 26 lettres. Le programme doit faire un affichage du type :
    Donnez un premier mot : pain
    Donnez un deuxième mot : maison
    La lettre a est commune aux deux mots
    La lettre i est commune aux deux mots
    La lettre n est commune aux deux mots
    Pouvez-vous m'aider ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    As-tu déjà codé quelque chose ? Sinon il faut voir ton algo à la main d'abord puis le traduire en Pascal.

    Petite aide: il faut parcourir le mot n°1 lettre par lettre, et pour chaque lettre, si elle n'a pas déjà été trouvée dans le mot n°1, parcourir le mot n°2 et la chercher.

  3. #3
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Par défaut
    Je suis en BTS IG 1ère année et nous codons des choses assez simples pour l'instant. J'ai toujours eu du mal avec les souschaîne, longueurchaîne etc. Je vais tenter d'y réfléchir.

    Merci pour l'aide

  4. #4
    Membre éclairé
    Avatar de Wachter
    Homme Profil pro
    Développeur
    Inscrit en
    Octobre 2008
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Octobre 2008
    Messages : 404
    Par défaut
    Bonjour,

    La solution proposée par wormful_sickfoot est correcte, sauf qu'il faut vérifier à chaque fois si la lettre courante a déjà été parcourue (trouvée) ou non dans le premier mot. Si tu veux t'éviter cela, tu n'as qu'à parcourir les vingt-six lettres non accentuées de l'alphabet et vérifier une à une son appartenance aux deux mots lus au clavier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Pour chaque lettre de l''alphabet
      Si la lettre existe dans les deux mots
        Afficher cette lettre;
    --
    Wachter

  5. #5
    Membre averti
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Octobre 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 23
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Program Lettres Communes ;
     
    {$APPTYPE CONSOLE}
     
    uses
      SysUtils;
     
    Var mot1 , mot2 , let1, rep : String ;
    Var i , j : Integer ;
     
    Begin
     
         WriteLn ('Programme permettant de trouver les lettres communes a deux mots');
         WriteLn;
     
         rep := 'oui';
         While rep = 'oui' Do Begin
     
         WriteLn ( 'Veuillez saisir le premier mot' ) ;
         ReadLn (mot1) ;
         WriteLn;
     
         WriteLn ( 'Veuillez saisir le deuxieme mot' ) ;
         ReadLn (mot2) ;
         WriteLn;
     
     
         //Structure permettant de comparer chaque lettre du premier mot au deuxieme mot
     
         For i := 1 to Length ( mot1 ) DO BEGIN;
              Let1 := mot1[i] ;
     
              For j := 1 to Length ( mot2 ) DO BEGIN;
                   If let1 = mot2[j] Then Begin
                        WriteLn ( 'La lettre, ' , let1 , ' est commune aux deux mots' ) ;
     
                   End;
     
              End;
         End;
         WriteLn ('Voulez-vous rejouer ? oui/non');
         ReadLn (rep);
     
     
    End;
    End.
    Voilà ce que j'ai fais. Cependant j'ai une autre question. Lors de l'execution de mon programme (mot1 = avion et mot2 = bateau) il m'affiche :

    'La lettre, a est commune aux deux mots'
    'La lettre, a est commune aux deux mots'

    Comment faire pour mettre qu'une seule fois la réponse ?

  6. #6
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    Bonjour
    C'est pour régler ce problème que precedement :
    Citation Envoyé par wormful_sickfoot
    Petite aide: il faut parcourir le mot n°1 lettre par lettre, et pour chaque lettre, si elle n'a pas déjà été trouvée dans le mot n°1, parcourir le mot n°2 et la chercher.
    Meme chose :
    Citation Envoyé par Wachter
    sauf qu'il faut vérifier à chaque fois si la lettre courante a déjà été parcourue (trouvée) ou non dans le premier mot. Si tu veux t'éviter cela, tu n'as qu'à parcourir les vingt-six lettres non accentuées de l'alphabet et vérifier une à une son appartenance aux deux mots lus au clavier :
    Cordialement

  7. #7
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    J'ajouterai que, si la lettre a été trouvée dans le mot n°2, il faut sortir de la boucle qui parcourt le mot n°2.

  8. #8
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 1
    Par défaut petite question
    j'aimerais savoir comment faire pour quitter la boucle après lecture de lettre similaire mais si les mot sont : barbara et ravage comment je peut faire pour que cela maffiche 2 a et non 3

Discussions similaires

  1. Réponses: 49
    Dernier message: 26/05/2010, 21h58
  2. communication entre deux executables
    Par semenzato dans le forum MFC
    Réponses: 8
    Dernier message: 13/04/2005, 22h19
  3. Communication entre deux Threads
    Par rvzip64 dans le forum Langage
    Réponses: 13
    Dernier message: 28/01/2005, 09h14
  4. communication de deux elements via des threads
    Par alexandre21130 dans le forum C++Builder
    Réponses: 1
    Dernier message: 22/07/2004, 01h25
  5. Réponses: 5
    Dernier message: 25/03/2003, 19h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo