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 :

Supprimer la redondance des caractères dans un texte [Turbo Pascal]


Sujet :

Turbo Pascal

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 5
    Par défaut Supprimer la redondance des caractères dans un texte
    Bonne soirée à tous

    J'ai un exercice de programmation en Turbo Pascal que je n'ai pas compris s.v.p.
    Vous pouvez m'aider ?
    L'exercice c'est :
    Ecrire une analyse qui permet de supprimer la redondance des caractères dans un texte non vide puis l'affiche.

    Exemple :

    ch1: cite protection de la nature 3100 Kairouan.
    ch2: cite prondlau310k.
    Aidez-moi svp

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 959
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 959
    Par défaut
    Kai,

    Manifestement, il faut supprimer tous les caractères en plusieurs exemplaires, pour n'en garder qu'un, tout en conservant l'ordre d'origine pour les caractères restant.

    À toi de jouer.

  3. #3
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Salut achre... (choisisez au moins des pseudo facile à retenir )

    Tu peux écrire une procédure insererCaractere( c: char; var chaine: string) qui insère le caractère c dans la chaine si cette dernière ne contient pas une occurrence (encore un mot barbare) de ce caractère.
    Ensuite, il te suffira de faire un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    nouvelleChaine<-''
    pour i de 1 à longeurDeLaChaine(chaine)
     insererCaractere(chaine[i], nouvelleChaine)
    finPour
    je crois que je t' ai tout donné. A toi l' honneur de coder maintenant.

  4. #4
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 14
    Par défaut
    c'est simple tu fais deux boucle for la première parcourt le texte jusqu'à la fin caractère par caractère et suivant le caractère courant tu fait une autre boucle a chaque fois ou tu trouve ce caractère tu fais un décalage a gauche de tout le reste de la chaine

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Tunisie

    Informations forums :
    Inscription : Octobre 2008
    Messages : 2
    Par défaut
    Voila la solution ami :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    pour i de 1 a long(ch) faire
     pour j de 1 a long(ch) faire
      si ch[i]=ch[j] alors efface(ch,j,1)
      fin si
     fin pour
    fin pour

  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 et bienvenue

    Med_Farou , la solution que tu proposes toi même tu as essayer de le "derouler" pour voir il est loin de faire ce qu'on dit:

    Avec cet algo prends juste une chaine "Pascal"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    pour i de 1 a long(ch) faire
     pour j de 1 a long(ch) faire
      si ch[i]=ch[j] alors efface(ch,j,1)
      fin si
     fin pour
    fin pour
    pour i=1 et j=1 ch[i]='P' et ch[j]='P' alors ou supprime le P selon ton algo c'est mal parti . Sachant que l'algorithme est faux avec ce genre de boucle si tu as un texte de plus 5 ligne a l'entrée par exemple c'est aussi mal barré

    Cordialement

  7. #7
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 959
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 959
    Par défaut
    Jai,
    Citation Envoyé par Med_Farouk Voir le message
    Voila la solution ami :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    pour i de 1 a long(ch) faire
     pour j de 1 a long(ch) faire
      si ch[i]=ch[j] alors efface(ch,j,1)
      fin si
     fin pour
    fin pour
    C'est faux.

  8. #8
    Nouveau candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut reponse
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    pour i de 1 a long(ch)-1 faire
     pour j de i+1 a long(ch) faire
      si ch[i]=ch[j] alors efface(ch,j,1)
      fin si
     fin pour
    fin pour

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/08/2008, 10h13
  2. Supprimer des caractères dans une cellule
    Par freyliss dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 03/08/2007, 15h02
  3. [MySQL] Encodage des caractères dans un fichier texte
    Par louveteau02 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 04/04/2007, 11h41
  4. [Tableaux] Supprimer des caractères dans une chaine
    Par ddubois dans le forum Langage
    Réponses: 10
    Dernier message: 16/12/2006, 14h53
  5. Réponses: 3
    Dernier message: 27/06/2005, 17h24

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