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

Pascal Discussion :

[Débutant] Extraire chiffres d'une chaîne de gauche à droite et de droite à gauche


Sujet :

Pascal

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [Débutant] Extraire chiffres d'une chaîne de gauche à droite et de droite à gauche
    Ecrire un programme qui saisit une chaîne puis en extraire les chiffres de gauche à droite et de droite à gauche. Exemple : ch=e58t9df26g4 -> ça donne 589264 et 462985.
    J'ai reussi l'extraction de gauche à droite mais pas de droite à gauche. Si quelqu'un peut m'aider à compléter le programme, merci.
    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
    program extraction;
    uses wincrt ;
    var
    ch:string;
    ch2:string;
    i:integer;
    begin
    write('EnTREZ Une CHaiNe De CaraCteRe ');
    read(ch);
    for i:=1 to length(ch) do
    if ch[i] in['0'..'9'] then
    repeat
    ch2:=  copy(ch,i,1) ;
    write(ch2) ;
    until
    ch[i] in ['0'..'9']  ;
    end.

  2. #2
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 946
    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 946
    Points : 59 539
    Points
    59 539
    Billets dans le blog
    2
    Par défaut
    Bonjour et bienvenue !

    Un indice pour t'aider : il est possible de décrémenter un compteur dans une boucle for :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for i := length(ch) downto 1 do

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Bon voilà, j'ai essayé un nouveau truc mais cette fois je n'arrive qu'à faire apparaître un seul chiffre de gauche à droite. N'oublie pas que je suis débutant.
    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
    program extraction;
    uses wincrt ;
    var
    ch:string;
    ch2:string;
    ch3:string;
    i:integer;
    i1:integer;
    begin
       write('EnTREZ Une CHaiNe De CaraCteRe ');
     
       read(ch);
    for
       i:=1 to length(ch) do
    if
       ch[i] in['0'..'9'] then
    repeat
       ch2:=  copy(ch,i,1) ;
       write(ch2) ;
    until
       ch[i] in ['0'..'9']  ;
     
       begin
       for
        i1:=length(ch2) downto  1 do
     
       repeat
        ch3:=copy(ch2,i1,1);                                            
        write('     ',ch3);
       until
        ch[i1] in ['0'..'9'];
     
    end;
    end.

  4. #4
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 946
    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 946
    Points : 59 539
    Points
    59 539
    Billets dans le blog
    2
    Par défaut
    Il faut absolument que tu indentes correctement ton code sinon tu vas avoir beaucoup de difficultés à t'y retrouver.

    Tout d'abord, ta méthode est inutilement compliquée : dans un sens ou dans un autre, ton exercice consiste à regarder chaque caractère : si c'est un chiffre alors tu l'affiches. Donc, tu n'as pas besoin de boucle repeat à l'intérieur de la boucle for.

    Ensuite, il n'est pas utile de déclarer des variables différentes pour les deux traitements.

    Voici ce que ça pourrait donner :
    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
    program extraction;
    uses wincrt;
    var ch:string;
        ch2:string;
        i:integer;
    begin
      write('EnTREZ Une CHaiNe De CaraCteRe ');
      read(ch);
      for i:=1 to length(ch) do
        if ch[i] in['0'..'9'] then
          begin
            ch2:= copy(ch,i,1) ;
            write(ch2) ;
          end;
      write('    ');
      for i:=length(ch) downto 1 do
        if ch[i] in['0'..'9'] then
          begin
            ch2:= copy(ch,i,1) ;
            write(ch2) ;
          end;
    end.

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    merci alkatiz.

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

Discussions similaires

  1. Extraire chiffre d'une chaine en SQL
    Par chillansky dans le forum Langage SQL
    Réponses: 8
    Dernier message: 16/10/2017, 14h47
  2. Réponses: 2
    Dernier message: 11/12/2008, 18h44
  3. Séparation des lettres et des chiffres d'une chaîne
    Par camoa dans le forum Assembleur
    Réponses: 2
    Dernier message: 24/01/2007, 17h46
  4. [Tableaux] Extraire les chiffres dans une chaîne
    Par Digiduck dans le forum Langage
    Réponses: 8
    Dernier message: 16/08/2006, 14h33
  5. [débutant] Ajout bizarre d'une chaîne xmlns=""
    Par minnieBis dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 17/05/2004, 10h37

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