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

C++ Discussion :

compteur alphanumerique


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 9
    Par défaut compteur alphanumerique
    j'aimerai à l'instar d'une suite numerique classique definir moi meme un compteur
    je m'explique :
    on sait que une suite numerique classique est 1 2 3 4...
    je voudrais definir des valeurs comme n termes (ex: a g t 5 e u comme etant un ordre immuable càd après a g t 5 e u viens aa ag at a5 ae au puis ga gg gt g5 ge gu .........)
    j'espère être clair
    comment automatiser la recursivite en ayant un minimum de ligne à écrire
    j'ai déjà essayé des solutions de boucle imbriquée mais le code augmente au fur et à mesure que je passe des "dizaines" au "millier" ...
    comment faire
    merci de votre aide

    langage utiliser c/c++

  2. #2
    Membre chevronné
    Profil pro
    Enseignant
    Inscrit en
    Avril 2004
    Messages
    440
    Détails du profil
    Informations personnelles :
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2004
    Messages : 440
    Par défaut
    Salut !

    Tout d'abord bienvenue sur le forum
    Par contre cette question serait plus appropiriée sur le forum "algorithmes" car clairement ton problème ne dépend pas du C++...

    Ensuite, pourrais-tu être plus précis sur ce que tu veux ? Générer toutes les combinaisons possibles à l'ordre n ??
    En principe tu n'as pas besoin d'augmenter le nombre de boucles à faire en fonction de n...

    Clairement (sauf erreur), à l'ordre n (n commençant à 1), tu as 6^(n-1) possibilités (6 car tu as 6 charactères possibles). Il te suffit dans ta récursivité de créer un tableau de taille 6^n qui dépend du tableau en n-1...

    Je sais pas si j'ai été trop clair là...

    En gros, si tab(n) est un tableau de charactères à l'ordre n (cad qu'il contient 6^(n-1) expressions), et tab(n-1) le tableau à l'ordre (n-1), tu as :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tab(n) = [tab(n-1) + a]U[tab(n-1) + g]U....U[tab(n-1) + u]
    où U est l'opération d'union (on fusionne 2 tableaux en un seul) et + est l'opération qui ajoute en bout de chaîne de chaque élément du tableau le caractère voulu...

  3. #3
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut Re: compteur alphanumerique
    Citation Envoyé par chris670
    j'aimerai à l'instar d'une suite numerique classique definir moi meme un compteur
    je m'explique :
    on sait que une suite numerique classique est 1 2 3 4...
    je voudrais definir des valeurs comme n termes (ex: a g t 5 e u comme etant un ordre immuable càd après a g t 5 e u viens aa ag at a5 ae au puis ga gg gt g5 ge gu .........)
    Si j'ai bien compris, tu remplaces digits ci-dessous par ce que tu veux.

    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
    std::string alpha(int column)
    {
       assert(column > 0);
     
       static char const digits[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
       static int const base = sizeof(digits) - 1;
       static int const maxResultSize = sizeof(column)*CHAR_BIT+1;
     
       char result[maxResultSize];
       int index = maxResultSize;
     
       result[--index] = '\0';
       do {
          --column;
          result[--index] = digits[column % base];
          column /= base;
       } while (column != 0);
     
       return result+index;
     
    }

  4. #4
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut
    Ton code semble bizarre JM Bourguet...

    Ton prototype dit qu'il va rendre un string mais tu rend un tableau de caractere et en plus ce tableau est déclaré localement...

    Aurais-je tort de m'inquiéter? ;-)

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Oui, tu t'inquiètes pour rien.

    std::string possède une sémantique de valeur et peut donc être sans problème retourné par copie par une fonction, et possède un constructeur permettant la construction implicite d'un std::string à partir d'un const char*.

  6. #6
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par fearyourself
    Ton code semble bizarre JM Bourguet...

    Ton prototype dit qu'il va rendre un string mais tu rend un tableau de caractere et en plus ce tableau est déclaré localement...

    Aurais-je tort de m'inquiéter? ;-)
    Oui. Il y a un constructeur de std::string prenant un char const* et ce constructeur n'est pas
    explicit.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 9
    Par défaut eh bien je vous remercie tous pour votre réponse
    je vais essayer tout ça

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

Discussions similaires

  1. [XSL FO] Compteur a partir de 2
    Par Hugo001 dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 30/06/2004, 11h39
  2. TRI ET SELECTION DE CODE ALPHANUMERIQUE
    Par janpi34 dans le forum SQL
    Réponses: 2
    Dernier message: 07/05/2004, 18h41
  3. [PB CONCEPTUEL] avec compteur/trigger
    Par kase74 dans le forum SQL
    Réponses: 6
    Dernier message: 25/03/2004, 11h02
  4. Remise à 0 d'un compteur automatique
    Par missllyss dans le forum SQL
    Réponses: 4
    Dernier message: 15/12/2003, 16h46
  5. Migration Access > SQL Server (suite) : Compteur
    Par LadyArwen dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/03/2003, 14h08

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