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

Autres IDE Pascal Discussion :

Rechercher dans une liste les mots comprenants deux lettres choisies


Sujet :

Autres IDE Pascal

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2021
    Messages : 2
    Points : 0
    Points
    0
    Par défaut Rechercher dans une liste les mots comprenants deux lettres choisies
    Bonjour,

    je dois faire un code (Pascal ABC) qui me permettrait de rechercher (qui seront affichés à l'écran) dans une liste tous les mots comprenant deux lettres que j'aurais fournies. Je n'arrive vraiment pas à le faire. pourriez vous svp m'aider ?

  2. #2
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 419
    Points : 5 818
    Points
    5 818
    Par défaut
    Salut

    Que n'arrives-tu pas à faire... Il existe des fonctions toutes faites pour savoir si un caractère existe.

    Il faut que tu nous montres un minimum de travail pour que l'on puisse t'aider. Nous ne somme pas ici pour faire le travail à ta place.
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

  3. #3
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 415
    Points
    59 415
    Billets dans le blog
    2
    Par défaut
    Bonjour et bienvenue,

    Un indice : l'utilisation de la fonction Pos dans une boucle foreach..in.

    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  4. #4
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2021
    Messages : 2
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par Alcatîz Voir le message
    Bonjour et bienvenue,

    Un indice : l'utilisation de la fonction Pos dans une boucle foreach..in.

    bonjour, merci de votre réponse

    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
    var s:string; a:array[1..100] of string;
    i,count:integer;letter:char;
    begin 
    readln(s);
    writeln('lettre');
    letter:=readkey;
    count:=1;
    i:=1; while (i<=length(s)) do begin
    if s[i]=' ' then 
    begin 
    if pos(letter,a[count])>=1 then writeln(a[count]); 
    inc(count);inc(i);
    end;
    a[count]:=a[count]+s[i];
    inc(i);
    end;
    if pos(letter,a[count])>=1 then writeln(a[count]);
    end.
    je sais qu'il ya une erreur mais je ne trouve, je n'ai jamais étudier pascal, seulement java dans je suis totalement perdu. Merci de votre aide

  5. #5
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Citation Envoyé par diana M Voir le message
    je sais qu'il ya une erreur mais je ne trouve, je n'ai jamais étudier pascal, seulement java dans je suis totalement perdu. Merci de votre aide
    Commence par écrire l'algorithme, et le Pascal étant très proche que ce qu'on écrit dans ce cas, ce n'est plus que de la traduction.

    De toute manière, commencer par l'algo est une bonne habitude, et même une nécessité dès que ça se complique un peu.
    Si les cons volaient, il ferait nuit à midi.

  6. #6
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 937
    Points : 59 415
    Points
    59 415
    Billets dans le blog
    2
    Par défaut
    Voici quelques éléments pour t'aider à construire l'algorithme, sans utiliser Pos.

    Tu parcours ton tableau de chaînes dans une boucle. À chaque itération, tu initialises à zéro ton compteur Count et tu compares chaque caractère de la chaîne avec la lettre à repérer : si elle est trouvée, tu incrémentes le compteur. Lorsque la chaîne est entièrement parcourue, tu testes la valeur de ton compteur : s'il est à 2 tu affiches la chaîne.

    Au fait, comment remplis-tu ton tableau de chaînes ?
    Règles du forum
    Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
    Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
    Mes tutoriels et sources Pascal

    Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
    La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]

  7. #7
    Membre confirmé Avatar de Galet
    Homme Profil pro
    Consultant/Programmeur Robotique industrielle
    Inscrit en
    Mars 2010
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant/Programmeur Robotique industrielle

    Informations forums :
    Inscription : Mars 2010
    Messages : 323
    Points : 484
    Points
    484
    Par défaut
    Bonjour Diana M

    En complément de ce qui a été écrit ci-dessus, pense à écrire ton code de manière lisible (indentation), ce qui te permettra de mieux comprendre son fonctionnement.
    Essaie aussi de choisir des noms de variables très clairs.

    Ton code sans modification :
    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
     
     var
        S: string;
        a: array [1 .. 100] of string;
        i, Count: Integer;
        letter: char;
      begin
        readln(S);
        writeln('lettre');
        letter := readkey;
        Count := 1;
        i := 1;
        while (i <= length(S)) do
        begin
          if S[i] = ' ' then
          begin
            if pos(letter, a[Count]) >= 1 then
              writeln(a[Count]);
            inc(Count);
            inc(i);
          end;
          a[Count] := a[Count] + S[i];
          inc(i);
        end;
        if pos(letter, a[Count]) >= 1 then
          writeln(a[Count]);
     end;
    Windows 10 / Delphi Tokyo
    "Les choses ne changent pas. Change ta façon de les voir, cela suffit" Lao Tseu

Discussions similaires

  1. [XL-2010] Rechercher dans une colonne les cellules qui contiennent des mots précis
    Par jean-fanch dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/11/2016, 08h57
  2. Macro de recherche dans une liste de mots à partir d'une DataBase
    Par Xorck dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/11/2014, 16h26
  3. [MySQL-5.5] Recherche d'une liste de mots dans une chaine
    Par Phiss dans le forum Requêtes
    Réponses: 2
    Dernier message: 09/07/2014, 16h08
  4. Réponses: 1
    Dernier message: 13/02/2007, 16h53
  5. Recherche dans une liste non trié
    Par Oberown dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 13/09/2004, 13h56

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