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 :

Recherche de doublons dans une chaîne


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Par défaut Recherche de doublons dans une chaîne
    Bonjour,

    d’après ce que j'ai appris, la taille maximum d'une chaîne de caractères est 256.
    Comment puis-je résoudre ce problème ?

    Nom : Capture.PNG
Affichages : 670
Taille : 20,7 Ko

  2. #2
    Responsable Pascal, Lazarus et Assembleur


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

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 991
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Difficile de t'aider si tu ne donnes pas plus de précisions : où rencontres-tu des difficultés ? Peux-tu nous montrer ton code ?

    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]

  3. #3
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Par défaut
    voila mon code
    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
    program doube;
     
    var
    ch:string;
    p:integer;
    b:boolean;
     
    procedure remplir(var ch:string);
    begin
     
     
    readln(ch);
     
    end;
     
    procedure rech(ch:string; var b:boolean; var p:integer);
    begin
    p:=0;
    b:=false;
    repeat
    p:=p+1;
    if ch[p]=ch[p+1] then
    b:=true;
    until (b=true) or (p=length(ch));
    end;
     
    begin
    remplir(ch);
    rech(ch,b,p);
    while b=true do
    begin
    delete(ch,p,2);
    rech(ch,b,p);
    end;
    write(ch);
    end.

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 130
    Billets dans le blog
    9
    Par défaut
    Bonjour ! Vous n'étiez pas très loin de la solution.

    Il y a une première erreur, c'est que vous effacez deux caractères là où il faudrait n'en effacer qu'un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //delete(ch,p,2);
    delete(ch,p,1);
    Il y a une deuxième erreur, c'est que la dernière comparaison à faire est la comparaison entre l'avant-dernier caractère et le dernier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //until (b=true) or (p=length(ch));
    until (b=true) or (p=length(ch) - 1);
    Une fois ces deux corrections faites, il me semble que le programme donne le résultat attendu.

    Après, certaines améliorations pourraient être apportées. Par exemple, si vous regardez bien, le paramètre p de la procedure rech() ne sert à rien dans l'état actuel du code.

  5. #5
    Membre habitué
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2014
    Messages : 10
    Par défaut
    même avec vos solution ça marche pas !
    je suis certain qu'il faut effacer deux caractères(lire le sujet)

  6. #6
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 130
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par aminebenkraiem Voir le message
    même avec vos solution ça marche pas !
    je suis certain qu'il faut effacer deux caractères(lire le sujet)
    Supprimer les doublons, pour moi ça veut dire par exemple remplacer "aa" par "a". Ce n'est pas ça ?

Discussions similaires

  1. Recherche de doublons dans une table
    Par david71 dans le forum Access
    Réponses: 2
    Dernier message: 20/01/2008, 13h41
  2. recherche de doublon dans une table
    Par c+cool dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/01/2008, 13h29
  3. recherche des doublons dans une hash
    Par Jasmine80 dans le forum Langage
    Réponses: 4
    Dernier message: 29/01/2007, 11h51
  4. [pl-sql] Recherche de doublons dans une table
    Par tommey dans le forum Oracle
    Réponses: 1
    Dernier message: 08/11/2006, 22h53
  5. Réponses: 5
    Dernier message: 21/11/2005, 14h24

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