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

Python Discussion :

Python vers C/C++ : listage des Cnp et Anp [Fait]


Sujet :

Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3
    Par défaut Python vers C/C++ : listage des Cnp et Anp
    Bonjour,
    j'ai trouvé sur ce forum deux algorithmes écrits en Python par Guillaume Duriaud. Je les cherchais pour compléter un programme écrit en C++. Malheureusement, je ne connais pas du tout Pytho et j'aurai besoin d'aide pour transcrire ces algos en C++.

    Quelqu'un peut-il m'aider ?

    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
    35
    36
    37
    38
    39
    40
    41
    ## Created: 2005.11.05
    ## Version: 0.0.0
    ## Build: 0.1
    ## Updated: 2005.11.05
    ## Auteur: Guillaume Duriaud
     
     
     
    def Cnp(n,p, l=None, res=None):
        """ Created: 2005.11.05 - Updated:
            Calcul du Cnp - ne pas renseigne l et res lors de l'appel """
        if l is None: l=[]
        if res is None: res=[]
        if p==0:
            res.append(l)
            return 
        if n==0: return  
        l1=list(l)
        l1.append(n)
        Cnp(n-1, p-1, l1, res)
        Cnp(n-1, p, l, res)
        return res
     
     
     
     
     
    def Anp(n, p, l=None, res=None):
        """ Created: 2005.11.05 - Updated: 2005.11.05
            Calcul de l'Anp - ne pas renseigne l et res lors de l'appel """    
        if l is None: l=[]
        if res is None: res=[]    
        if p==0:
            res.append(l)
            return
        for k in range(1,n+1):
            if k not in l:
                l1=list(l)
                l1.append(k)
                Anp(n, p-1, l1,res)
        return res

  2. #2
    Expert confirmé
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut
    Je les ai simplement écrit en m'inspirant de l'algo que tu trouveras dans ce post
    http://www.developpez.net/forums/vie...781&highlight=

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure Cnp(n, p, liste) 
     
       si p = 0 alors 
          begin      
          affiche liste 
          fin de la procedure 
          end 
     
        si n = 0 alors fin de la procedure 
     
        cnp(n-1,  p-1,  liste + {élément numéro n}) 
        cnp(n-1,  p,    liste)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure anp(n, p, liste) 
     
        variable k : entier 
     
        si p = 0 alors 
           begin 
           affiche chaine 
           on sort de la procedure 
           end 
     
        pour k valant 1 à n faire 
               si la liste ne contient pas l'élément numéro k 
              alors anp(n, p-1, liste + {élément numéro k});

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 3
    Par défaut
    Merci beaucoup !
    Ca y est, j'ai fini de les implémenter en C++

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

Discussions similaires

  1. import des donnees python vers tableau
    Par tsicc dans le forum Réseau/Web
    Réponses: 5
    Dernier message: 02/04/2008, 10h10
  2. Listage des dossiers
    Par Flow_75 dans le forum C++Builder
    Réponses: 4
    Dernier message: 17/12/2006, 18h34
  3. Réponses: 1
    Dernier message: 30/11/2006, 11h01
  4. [VB6] Listage des fenêtres windows
    Par gg78 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 27/05/2003, 11h36

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