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

Algorithmes et structures de données Discussion :

composition d'un nombre par brassage


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Décembre 2005
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut composition d'un nombre par brassage
    je suis un débutant en language c

    j'ai voulu résoudre ce problème mais je n'est pas trouvé la solution

    le problème ;: ecrire un programme en c qui affiche touts le nbrs d'un entier
    exemple l'entrier est 365
    le programmme doit afficher
    365
    356
    653
    635
    536
    563
    est ce qu'il ya qlqunh qui peut m'aider à résoudre ce problème et merci bqs

    [titre edité par netah25 : j'ai rien trouvé d'autre alors j'ai mis ca ...]

  2. #2
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Points : 754
    Points
    754
    Par défaut
    une simple petite récurence du type
    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
     
    AnsiString AS; short l;
    void XPN( AnsiString S )
       {
       for ( short i=1; i <= S.Length(); i++)  
          {
          AS[l-S.Length()] = S[i];    // on met dans AS[1], puis [2], ... successivement tous les caractères de S ( edit1->test au 1er appel 
          if ( S.Length() == 1) Form1->ListBox1->Items->Add(AS); // on a fini => sauver le resultat ( ici mis dans une listebox )
          else
             {
             AnsiString U = "";
             for  (short  j=1; j <= S.Length(); j++) if ( i != j )
                U = U + S[j]; // on crée le String restant 
             XPN(U);           // et on continue le process
             }
          }
       }
    //-------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    ListBox1->Clear();   // lite des résultats
    AS = "";
     while (AS.Length() < Edit1->Text.Length()) AS = AS + " ";   // string de la bonne longueur. Peut importe son contenu
     l = AS.Length()+1; // + 1 car AnsiString dans BC++ va de 1 a n et non de 0 à n-1
     XPN(Edit1->Text); // edit1 est le string dont on veut les combinaisons
    }
    on trouve evidement n! solutions. Attention si le nombre ( texte ) d'origine contient plusieurs X le même caractère, on aura plusieurs X la même solution ( dégénérescence )

  3. #3
    Rédacteur/Modérateur
    Avatar de Trap D
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    4 942
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 4 942
    Points : 6 498
    Points
    6 498
    Par défaut
    Cherche bien sur ce forum, tu trouveras les algos qui donnes toutes les permutations des éléments d'une chaîne de caractères.
    "La haine seule fait des choix" - Koan Zen
    "Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
    "Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
    Faites du Prolog, ça vous changera les idées !
    Ma page Prolog
    Mes codes sources commentés

    Mon avatar : La Madeleine à la veilleuse de Georges de La Tour

Discussions similaires

  1. classer des series de nombres par synthese
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/11/2007, 18h10
  2. Label d'axe graphique: remplacer les nombres par des mots
    Par Chrysomallus dans le forum MATLAB
    Réponses: 3
    Dernier message: 19/04/2007, 15h23
  3. Réponses: 6
    Dernier message: 28/07/2006, 18h04
  4. Excel:probleme pour transformer du texte en nombre par macro
    Par pcheval dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/11/2005, 22h18
  5. Réponses: 4
    Dernier message: 06/06/2004, 12h07

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