bonjour,
je n'arrive pas a ecrire une fonction doublement recursive en C++ .
Voici mon programme :
et le message d'erreur
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 #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; } }
ce qui m'echape c'est que le programme suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
compile parfaitement en C
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 #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)); }
si quelqu'un peut m'aider
merci
Partager