Récursivté

Récursivté - C - Programmation

Marsh Posté le 04-12-2008 à 19:38:19    

Bonjour,
 
Je suis entrain de faire un programme récursil d'une suite dans la quelle je souhaite calculer le n-ème terme de cette suite avec comme condition :
 
U(0)=3
U(n+1)= 2*U(n)-2
 
Voila mon code :
 
#include <stdio.h>
intmain(){
 
int U (int n ) {
int U=3,i;
for(i=0;i<n;i++)
U=2*U-2
return U ;
}
 
int n;
printf("Entrez le n-ème terme : " );
scanf("%d",&n);
printf("Résultat : U(%d)=%d",n,U);
system("pause" );
}
 
 
 
 
Or lorsque je compile avec DEV C++ une erreur m'est indiquée à la ligne 8 ( " return U " ) :syntax error before return pourquoi ?
 
Sachant que par la suite je désirerais afficher tous les résultat allant de 0 à n, j'ai penser utiliser un while suis-je sur la bonne piste ?

Reply

Marsh Posté le 04-12-2008 à 19:38:19   

Reply

Marsh Posté le 04-12-2008 à 19:46:37    

Manque un point-virgule ligne 7.

Reply

Marsh Posté le 04-12-2008 à 19:49:30    

en effet merci mais pourquoi rien ne se passe lorsque j'exécute mon programme ?
 
Voila le message que j'ai lorsque je compile mon bout de code :
 
[linker error] undefined reference to 'WinMain@16'
Id returned 1 exit status


Message édité par kira974 le 04-12-2008 à 20:00:08
Reply

Marsh Posté le 04-12-2008 à 20:17:32    

Je pense que c'est parce que tu n'a pas choisi le bon type de projet. Je ne connais pas bien Dev C++, mais il faut choisir un projet du type Console.
 
cf: http://www.dil.univ-mrs.fr/~garret [...] tilisation, section 5. Tu as du choisir "Windows Application", il cherche donc la fonction WinMain et non pas main ...

Reply

Marsh Posté le 04-12-2008 à 20:30:16    

en faite c'était le int main que j'avais écris intmain ...

Reply

Marsh Posté le 05-12-2008 à 11:00:01    

Essaie de relire un minimum to code avant de poster sur un forum ! C'était quand même assez simple là, tu aurais dû trouver par toi même !
 
Qu'est-ce que ça va être le jour où tu devras débugger de toi même, tout seul, un programme bien plus complexe que ça ?


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 19-12-2008 à 13:29:42    

kira974 > ton code fonctionne MAIS n'est pas récursif.
 
Voilà la solution :

Citation :

int U(int n)
{
if n==0 return 3;
else return 2 * U(n-1) - 2;
}


 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed