begin process at 2012 05 28 21:03:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Maths & Algorithmes

 > 

Enlever la récursivité


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Enlever la récursivité

dimanche 19 mars 2006 à 16:26:42 | Enlever la récursivité

vecchio56

Administrateur CodeS-SourceS
Bonjour tout le monde

Je me demandais s'il existait une méthode générale pour enlever la récursivité d'une fonction (même si elle devient plus lente, il faut juste enlever l'appel récursif).
La fonction en question ressemble à ca:
int f(int x, int y)
{
  ...
  return f(x1, y1)+f(x2, y2)+f(x3, y3);
}

Petite précision: pas le droit au goto
Pensez-vous que c'est possible?
dimanche 19 mars 2006 à 16:55:25 | Re : Enlever la récursivité

Joky

Membre Club
Moi j'aurais rajouter un argument résultat pour stocker ce que tu as besoin
Comme ça y'a aucun calcul en attente, mais bon y'aura toujours une récursivité mais moins gourmande.

if(!Meilleur("Joky")) return ERREUR;<

dimanche 19 mars 2006 à 17:01:05 | Re : Enlever la récursivité

vecchio56

Administrateur CodeS-SourceS
Entre nous ca ne change rien au problème :)
dimanche 19 mars 2006 à 17:07:36 | Re : Enlever la récursivité

ctx_man

Salut !
Generallement j'arrive a me passer de la recursiviter avec un bon paquet de boucle, des conditions suplementaires et un petit paquet de variable pour stocker les resultats intermediaires.
dimanche 19 mars 2006 à 17:08:10 | Re : Enlever la récursivité

BruNews

Administrateur CodeS-SourceS
Je n'ai jamais rencontré de méthode générale pour enlever la récursivité.

ciao...
[ Lien ]
BruNews, MVP VC++
dimanche 19 mars 2006 à 17:12:58 | Re : Enlever la récursivité

vecchio56

Administrateur CodeS-SourceS
Merci, c'est bien ce que je pensais
dimanche 19 mars 2006 à 19:19:20 | Re : Enlever la récursivité

DeAtHCrAsH

C'est bien la récursivité, même si difficile à debugger, malgré cela, il existe de mémoire non pas une méthode générale, mais un ensemble de méthode bien défini permettant de virer la récursivité dans certains cas (utilisation de boucle infini, de goto meme si tu n'en veux pas, ....)

Au fait pourquoi tu ne veux pas de goto ?
Coté code machine ca sera un simple jmp, et pas plus compliqué a debugger que la récursivité.

Shell


Cette discussion est classée dans : fonction, int, enlever, récursivité


Répondre à ce message

Sujets en rapport avec ce message

Pas compris les arguments [ par Bog ] Bonjour.Voila à chaque fois que je me lance dans un projet de programmation C++, je suis tjrs bloqué par certaines choses, surtout les arguments, et c Pas compris les arguments [ par Bog ] Bonjour.Voila à chaque fois que je me lance dans un projet de programmation C++, je suis tjrs bloqué par certaines choses, surtout les arguments, et c scanf() [ par clb ] bonjour à tous,j'ecris par exemple :int fonction(){ if(true) return 0; else return -1}dans main, si cette fonction retourne 0,alors j'appli GTK+-2.0, saisie d'un int ! [ par zazar ] G me demande si la réalisation d'une fonction retournant un int qu'un utilisateur à rentré par le biais d'une fenetre nécessite forcément une conversi Reference pour arguments de fonction! [ par CoxJoe ] Hello,Voila mon code qui est tres simple :# include # include using namespace std;// fonction pour entrer des lettresvoid getchar(char& name[]){ cout la fonction gotoxy(int abs,int ord) [ par jimtruand ] Salut !Je cherche la fonction equivalente a gotoxy(arg1,arg2) de borlandc++ sous Visualc++ ?C'est une fonction qui nous permet de placer le curseur ou 2 return d'une fonction [ par Silver360 ] Hello tout le monde!Je voulais savoir s'il est possible qu'une fonction retourne 2 paramètres ( dans le genre int int mafonction() ) ou si je dois fai Fonction déclaré en static [ par crocejf2000 ] Quel est la différence entre une fonction déclaré comme suit :int NomClasse::Nomfonctrion(int j){blabla}et une fonction déclaré en static :static int fonction d'alloaction dynamique [ par tomsawyerbelgique ] Pour une allocation dynamique d'un tableau à deux dimensions. Comme celle ci:cout // Initalisation int** tab = new int*[p_size1_tab]; for(in ProB avec la fonction int remove (const char*) [ par Avalon10101 ] _-=AvAloN=-_Jai un petit prob avec cette fonction :Je cré mon prog il na aucune erreur é il est donc pré à etre exécuter pour suprimer un fichier test


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,324 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales