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 :

fonction avec récursivité


Sujet :

C

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Par défaut fonction avec récursivité
    Bonjour à tous,

    Je souhaite créer une fonction récursive de la forme suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    racine->suivant = ajouterElement(racine->suivant, x , y , L/2 );
    Avec x,y, L des coordonnées de matrice: ma condition d'arrêt est quand L=1.
    Le problème est que, lors de l'exécution, cette fonction s'exécute bien avec la valeur L/2 mais ne fait pas L/4 , puis L/8 etc, c'est comme si elle ne s'exécutait qu'une seule fois.

    Merci de votre aide si vous avez des pistes pour m'aider à résoudre ce problème.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Il faudrait voir tout le code. Ce n'est pas facile comme ça...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Par défaut
    est-il possible de vous envoyer mon code sur une adresse mail car c'est dans le cadre d'un projet scolaire, je ne peux donc pas le dévoiler. Le code fait 20 lignes.

    Merci d'avance pour votre aide

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Par défaut
    Je n'accepte rien par mail, en conformité avec la charte de ce forum.

    Tu ne serais pas le premier à poster du code pour un projet scolaire. Je ne vois pas ce qui te gène, surtout qu'il fait 20 lignes.

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 40
    Par défaut
    Citation Envoyé par rafale001 Voir le message
    Bonjour à tous,

    Je souhaite créer une fonction récursive de la forme suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    racine->suivant = ajouterElement(racine->suivant, x , y , L/2 );
    Avec x,y, L des coordonnées de matrice: ma condition d'arrêt est quand L=1.
    Le problème est que, lors de l'exécution, cette fonction s'exécute bien avec la valeur L/2 mais ne fait pas L/4 , puis L/8 etc, c'est comme si elle ne s'exécutait qu'une seule fois.

    Merci de votre aide si vous avez des pistes pour m'aider à résoudre ce problème.
    tu peux nous envoyer juste la partie de la fonction (recursive) en question alors.
    sinon tu peux faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int n=1;
    if (L == 1)
    		return racine->suivant;
    	return L*ajouterElement(racine->suivant, x , y , (L-x)/2 ) ;//ou "x" est la valeur dont la variable "L" se décremente.
    ou quelque chose comme le code sus présenté puisqu'on sait pas bien de quoi s'agit-il

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Par défaut
    Lors de l'exécution d'une fonction récursive, si je donne en paramètre la racine d'un arbre pour lui créer des fils, au fur et à mesure de l'exécution, le return va retourner la "nouvelle" racine créée (donc le fils) ou la racine initiale avec ses nouveaux fils ?
    En fait ce que j'ai du mal à comprendre c'est le fonctionnement du return d'une fonction récursive.

    Merci pour votre aide.

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 40
    Par défaut
    là je te conseil de prendre un simple exemple d'une fonction recursive (ex:la puissance où le factoriel),essai de le bien comprendre, et puis tu te base sur le pour realiser ton programme recursif (et les exemples sont nombreux sur le net)
    bonne chance!!

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Par défaut
    merci pour votre coup de pouce !

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

Discussions similaires

  1. Fonction avec récursivité
    Par Jean-Marc68 dans le forum Requêtes
    Réponses: 5
    Dernier message: 13/05/2015, 15h26
  2. Réponses: 8
    Dernier message: 12/02/2013, 01h08
  3. Réponses: 3
    Dernier message: 05/09/2006, 00h47
  4. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48
  5. Une fonction avec des attributs non obligatoires
    Par YanK dans le forum Langage
    Réponses: 5
    Dernier message: 15/11/2002, 13h39

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