Voici la fonction que j'ai faite, mais elle ne fonctionne pas comem je
voudrais,
en fait, elle s'arrete à 0 (normal). Le problème, c'est que je n'arrive pas
à définir la condition d'arret.
Pourriez-vous m'aider SVP ... ?
[code]
int fct (int n)
{
if (n==-n) return n; //Un peu débile comme condition.....
cout<< (-n)<<' ';
return(fct(n-1));
}
[/code]
Voici la fonction que j'ai faite, mais elle ne fonctionne pas comem je voudrais, en fait, elle s'arrete à 0 (normal). Le problème, c'est que je n'arrive pas à définir la condition d'arret. Pourriez-vous m'aider SVP ... ?
int fct (int n) { if (n==-n) return n; //Un peu débile comme condition..... cout<< (-n)<<' '; return(fct(n-1)); }
Voici la fonction que j'ai faite, mais elle ne fonctionne pas comem je
voudrais,
en fait, elle s'arrete à 0 (normal). Le problème, c'est que je n'arrive
pas à définir la condition d'arret.
Pourriez-vous m'aider SVP ... ?
int fct (int n)
{
if (n==-n) return n; //Un peu débile comme condition.....
cout<< (-n)<<' ';
return(fct(n-1));
}
Voici la fonction que j'ai faite, mais elle ne fonctionne pas comem je voudrais, en fait, elle s'arrete à 0 (normal). Le problème, c'est que je n'arrive pas à définir la condition d'arret. Pourriez-vous m'aider SVP ... ?
int fct (int n) { if (n==-n) return n; //Un peu débile comme condition..... cout<< (-n)<<' '; return(fct(n-1)); }
Voici la fonction que j'ai faite, mais elle ne fonctionne pas comem je voudrais, en fait, elle s'arrete à 0 (normal). Le problème, c'est que je n'arrive pas à définir la condition d'arret. Pourriez-vous m'aider SVP ... ?
[code] int fct (int n) { if (n==-n) return n; //Un peu débile comme condition..... cout<< (-n)<<' '; return(fct(n-1)); } [/code]
Merci de votre aide
Il n'y a pas besoin de valeur de retour puisqu'elle ne sert à rien (Elle retournera toujours -n dans ton cas).
Pour faire de la récursion, il faut commencer par penser aux cas les plus petits fct( 0 ), puis fct( 1 ), puis ... puis généraliser.
Tu aurais peut être pu commencer par penser à afficher -n -(n-1) ... 0 puis voir la suite une fois que ca aurait marché.
Pour être gentil, je te files le code simple, mais j'avais apris à mon époque que ce groupe n'était pas fait pour résoudre les devoirs maisons ;-)
void fct( int n ) { cout << - n << " " ; //Afficher -n if( n == 0 ) return; // 0 ne sera affiché qu'une seule fois else fct( n-1 ); //Afficher -(n-1) ... (n-1) cout << n << " "; //Afficher n }
-- -------------------------------------------- Benoît Rousseau : roussebe at spray dot se Jouez en programmant : http://realtimebattle.sourceforge.net/
kip wrote:
Hello !
Je voudrais écrire une fonction récursive qui affiche le résultat suivant,
suivant un entier n positif, non nul :
Voici la fonction que j'ai faite, mais elle ne fonctionne pas comem je
voudrais,
en fait, elle s'arrete à 0 (normal). Le problème, c'est que je n'arrive pas
à définir la condition d'arret.
Pourriez-vous m'aider SVP ... ?
[code]
int fct (int n)
{
if (n==-n) return n; //Un peu débile comme condition.....
cout<< (-n)<<' ';
return(fct(n-1));
}
[/code]
Merci de votre aide
Il n'y a pas besoin de valeur de retour puisqu'elle ne sert à rien (Elle
retournera toujours -n dans ton cas).
Pour faire de la récursion, il faut commencer par penser aux cas les
plus petits fct( 0 ), puis fct( 1 ), puis ... puis généraliser.
Tu aurais peut être pu commencer par penser à afficher -n -(n-1) ... 0
puis voir la suite une fois que ca aurait marché.
Pour être gentil, je te files le code simple, mais j'avais apris à mon
époque que ce groupe n'était pas fait pour résoudre les devoirs maisons ;-)
void fct( int n )
{
cout << - n << " " ; //Afficher -n
if( n == 0 ) return; // 0 ne sera affiché qu'une seule fois
else fct( n-1 ); //Afficher -(n-1) ... (n-1)
cout << n << " "; //Afficher n
}
--
--------------------------------------------
Benoît Rousseau : roussebe at spray dot se
Jouez en programmant : http://realtimebattle.sourceforge.net/
Voici la fonction que j'ai faite, mais elle ne fonctionne pas comem je voudrais, en fait, elle s'arrete à 0 (normal). Le problème, c'est que je n'arrive pas à définir la condition d'arret. Pourriez-vous m'aider SVP ... ?
[code] int fct (int n) { if (n==-n) return n; //Un peu débile comme condition..... cout<< (-n)<<' '; return(fct(n-1)); } [/code]
Merci de votre aide
Il n'y a pas besoin de valeur de retour puisqu'elle ne sert à rien (Elle retournera toujours -n dans ton cas).
Pour faire de la récursion, il faut commencer par penser aux cas les plus petits fct( 0 ), puis fct( 1 ), puis ... puis généraliser.
Tu aurais peut être pu commencer par penser à afficher -n -(n-1) ... 0 puis voir la suite une fois que ca aurait marché.
Pour être gentil, je te files le code simple, mais j'avais apris à mon époque que ce groupe n'était pas fait pour résoudre les devoirs maisons ;-)
void fct( int n ) { cout << - n << " " ; //Afficher -n if( n == 0 ) return; // 0 ne sera affiché qu'une seule fois else fct( n-1 ); //Afficher -(n-1) ... (n-1) cout << n << " "; //Afficher n }
-- -------------------------------------------- Benoît Rousseau : roussebe at spray dot se Jouez en programmant : http://realtimebattle.sourceforge.net/
kip
"Cedric" a écrit dans le message de news:hhPsb.21480$
Euh... ca ne ressemble pas trop à une fonction *récursive*. :-)
En effet, autant pour moi ! Je ferais bien de reprendre quelques cours de lecture :-)
:) Merci quand même !
"Cedric" <zaventem69.no.spam@hotmail.com> a écrit dans le message de
news:hhPsb.21480$ht6.662615@phobos.telenet-ops.be...
Euh... ca ne ressemble pas trop à une fonction *récursive*. :-)
En effet, autant pour moi !
Je ferais bien de reprendre quelques cours de lecture :-)
-- vmime, une bibliothèque C++ sous licence GPL pour parser et générer des messages au format MIME : http://www.sourceforge.net/projects/vmime/
kip
Il n'y a pas besoin de valeur de retour puisqu'elle ne sert à rien (Elle retournera toujours -n dans ton cas).
Oui, en effet !
Pour faire de la récursion, il faut commencer par penser aux cas les plus petits fct( 0 ), puis fct( 1 ), puis ... puis généraliser.
Tu aurais peut être pu commencer par penser à afficher -n -(n-1) ... 0 puis voir la suite une fois que ca aurait marché.
C'est ce que j'ai fait, mais ça s'arretait à 0 !!!
Pour être gentil, je te files le code simple, mais j'avais apris à mon époque que ce groupe n'était pas fait pour résoudre les devoirs maisons ;-)
Ben, pour une fois, c pas un devoir maison, mais c pour ..... disons, de la ciulture générale !
void fct( int n ) { cout << - n << " " ; //Afficher -n if( n == 0 ) return; // 0 ne sera affiché qu'une seule fois else fct( n-1 ); //Afficher -(n-1) ... (n-1) cout << n << " "; //Afficher n }
Il n'y a pas besoin de valeur de retour puisqu'elle ne sert à rien (Elle
retournera toujours -n dans ton cas).
Oui, en effet !
Pour faire de la récursion, il faut commencer par penser aux cas les
plus petits fct( 0 ), puis fct( 1 ), puis ... puis généraliser.
Tu aurais peut être pu commencer par penser à afficher -n -(n-1) ... 0
puis voir la suite une fois que ca aurait marché.
C'est ce que j'ai fait, mais ça s'arretait à 0 !!!
Pour être gentil, je te files le code simple, mais j'avais apris à mon
époque que ce groupe n'était pas fait pour résoudre les devoirs maisons
;-)
Ben, pour une fois, c pas un devoir maison, mais c pour ..... disons, de la
ciulture générale !
void fct( int n )
{
cout << - n << " " ; //Afficher -n
if( n == 0 ) return; // 0 ne sera affiché qu'une seule fois
else fct( n-1 ); //Afficher -(n-1) ... (n-1)
cout << n << " "; //Afficher n
}
Il n'y a pas besoin de valeur de retour puisqu'elle ne sert à rien (Elle retournera toujours -n dans ton cas).
Oui, en effet !
Pour faire de la récursion, il faut commencer par penser aux cas les plus petits fct( 0 ), puis fct( 1 ), puis ... puis généraliser.
Tu aurais peut être pu commencer par penser à afficher -n -(n-1) ... 0 puis voir la suite une fois que ca aurait marché.
C'est ce que j'ai fait, mais ça s'arretait à 0 !!!
Pour être gentil, je te files le code simple, mais j'avais apris à mon époque que ce groupe n'était pas fait pour résoudre les devoirs maisons ;-)
Ben, pour une fois, c pas un devoir maison, mais c pour ..... disons, de la ciulture générale !
void fct( int n ) { cout << - n << " " ; //Afficher -n if( n == 0 ) return; // 0 ne sera affiché qu'une seule fois else fct( n-1 ); //Afficher -(n-1) ... (n-1) cout << n << " "; //Afficher n }
"kip" a écrit dans le message de news: 3fb3c13e$0$27045$
"Cedric" a écrit dans le message de news:hhPsb.21480$
Euh... ca ne ressemble pas trop à une fonction *récursive*. :-)
En effet, autant pour moi ! Je ferais bien de reprendre quelques cours de lecture :-)
:) Merci quand même !
En même temps, pourquoi ne pas utiliser une simple boucle itérative, afin de ne pas gaspiller de ressources en appels de fonctions? Ne connaissant pas l'utilisation que tu souhaite en faire, je ne peux répondre à ta place,mais à mon avis, ce serait préférable.
"kip" <kip.kip@laposte.net.nospam> a écrit dans le message de news:
3fb3c13e$0$27045$626a54ce@news.free.fr...
"Cedric" <zaventem69.no.spam@hotmail.com> a écrit dans le message de
news:hhPsb.21480$ht6.662615@phobos.telenet-ops.be...
Euh... ca ne ressemble pas trop à une fonction *récursive*. :-)
En effet, autant pour moi !
Je ferais bien de reprendre quelques cours de lecture :-)
:) Merci quand même !
En même temps, pourquoi ne pas utiliser une simple boucle itérative, afin de
ne pas gaspiller de ressources en appels de fonctions?
Ne connaissant pas l'utilisation que tu souhaite en faire, je ne peux
répondre à ta place,mais à mon avis, ce serait préférable.
"kip" a écrit dans le message de news: 3fb3c13e$0$27045$
"Cedric" a écrit dans le message de news:hhPsb.21480$
Euh... ca ne ressemble pas trop à une fonction *récursive*. :-)
En effet, autant pour moi ! Je ferais bien de reprendre quelques cours de lecture :-)
:) Merci quand même !
En même temps, pourquoi ne pas utiliser une simple boucle itérative, afin de ne pas gaspiller de ressources en appels de fonctions? Ne connaissant pas l'utilisation que tu souhaite en faire, je ne peux répondre à ta place,mais à mon avis, ce serait préférable.