fonction doublement recursive
bonjour,
je n'arrive pas a ecrire une fonction doublement recursive en C++ .
Voici mon programme :
Code:
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
| #include <iostream>
using namespace std;
bool pair (int n);
bool impair (int n);
bool pair (int n){
if(n==0){
return true;
}
else{
return (impair(n-1));
}
}
bool impair (int n){
if(n==0){
return false;
}
else{
return (pair(n-1));
}
}
main(){
int nombre;
cout << "donnez un nombre " ;
cin >> nombre;
if(pair(nombre)){
cout << nombre << " est pair"<< endl;
}
else{
cout << nombre << " est impair"<< endl;
}
} |
et le message d'erreur
Code:
1 2 3 4 5
|
prog.cc: In function 'bool impair(int)':
prog.cc:21: error: 'pair' was not declared in this scope
prog.cc: In function 'int main()':
prog.cc:29: error: 'pair' was not declared in this scope |
ce qui m'echape c'est que le programme suivant :
Code:
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
| #include<stdio.h>
#include<stdlib.h>
int pair (int n);
int impair (int n);
int pair (int n){
if(n==0){
return 1;
}
else{
return (impair(n-1));
}
}
int impair (int n){
if(n==0){
return 0;
}
else{
return (pair(n-1));
}
}
main(){
int nombre;
printf("%d", pair(3));
} |
compile parfaitement en C
si quelqu'un peut m'aider
merci