p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    février 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée équ.

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Finance

    Informations forums :
    Inscription : février 2012
    Messages : 67
    Points : 43
    Points
    43

    Par défaut Incrémenter les lettres de l'alphabet

    Bonjour à tous , j'aimerais incrémenter les lettres de l'alphabet mais avec mon code pas de suite.
    A la 27 ieme opération c'est-à-dire après Z , je n'ai pas le résultat que je recherche.
    J'aimerais avoir cette suite A,B,....Z,AA,AB...,BA,BB, ....

    Mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    j est un caractère="A"
    j=Caract(Asc(j)+1)
    Merci

  2. #2
    Expert Confirmé
    Avatar de frenchsting
    Homme Profil pro
    mutlitâche-multifonction
    Inscrit en
    juin 2003
    Messages
    2 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : mutlitâche-multifonction
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2003
    Messages : 2 306
    Points : 3 864
    Points
    3 864

    Par défaut

    Tu dois le gérer toi même...
    si tu as 2 caractères, tu fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure incremente(unelettre) 
    u est une chaine = unelettre
     
    si u="Z" alors
     u = "A" 
     d = "A"
     j = d+u
    sinon 
     j = Caract(Asc(j)+1)
    fin
    Tu emballes ça dans une boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    t=j
    pour i = 1 _a_ taille(j)
     j += incremente(t[[i]])
    fin
    Ce code ne fonctione pas en l'état, mais c'est une base : tu dois gérer les retenues...
    Commencez toujours par là : et puis n'hésitez à passer par là : ou par un autre moteur de recherche...
    Pas de question par MP s'il vous plait. Le forum est fait pour cela...

    Make it real not fantasy

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    octobre 2007
    Messages
    740
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : octobre 2007
    Messages : 740
    Points : 1 624
    Points
    1 624

    Par défaut

    Bonjour,

    A la volée et sachant que Asc("A") = 65, je proposerais :

    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
     
    Début, Résultat sont des chaînes
    I, J, , NombreDeCharVoulu sont des entiers
     
    Début = "" //pas nécessaire, mais par sécurité
    Résultat = "" //pas nécessaire
    RangDuCaractère = 1
     
    //Saisir le nombre de caractères voulus, càd la longueur finale de la chaîne
     
    TANTQUE RangDuChar <= NombreDeCharVoulu
       Pour I = 1 A 26
          Pour J = 1 A 26
             Résultat = Début + Caract(64 + J)
          FIN
          Début = Début + Caract(64 + I)
       FIN
       RangDuChar ++
    FIN
    Code non testé.

    Bon travail

    Hemgé

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    novembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2007
    Messages : 14
    Points : 22
    Points
    22

    Par défaut

    J'avais codé ça un jour ...

    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
    PROCEDURE gpIncrementerLettre(sTexte est une chaîne)
     
    nTaille est un entier = Taille(sTexte)
    i est un entier = nTaille
    nbDeA est un entier = 0
     
    POUR i = nTaille A 1 PAS -1
    	SI sTexte[[i]] = "Z" ALORS
    		sTexte[[i]] = "A"	
    		nbDeA++
    	SINON
    		sTexte[[i]] = Caract(Asc(sTexte[[i]]) + 1)
    		SORTIR
    	FIN
    FIN
     
    SI nbDeA = nTaille ALORS sTexte = sTexte + "A"
     
    RENVOYER sTexte

    Exemple :
    gpIncrementerLettre("AZA") // AZB
    gpIncrementerLettre("ABZ") // ACA
    gpIncrementerLettre("AZZ") // BAA
    gpIncrementerLettre("ZZZ") // AAAA

  5. #5
    Membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    février 2012
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée équ.

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Finance

    Informations forums :
    Inscription : février 2012
    Messages : 67
    Points : 43
    Points
    43

    Par défaut

    C'est superbe !!!!
    Merci à tous.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 02/09/2010, 11h22
  2. Décaler les lettres d'un mot dans l'alphabet
    Par realtux dans le forum Langage
    Réponses: 9
    Dernier message: 16/04/2009, 00h29
  3. Réponses: 18
    Dernier message: 20/09/2007, 08h45
  4. Réponses: 6
    Dernier message: 12/12/2006, 11h27
  5. Réponses: 4
    Dernier message: 15/09/2005, 13h48

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