Aide svp programation c Urgen

Bonjour,
j'ai un exercice en C que j'arrive pas a compiler , voici l'énoncé :

Écrire une fonction récursive calculant la valeur de la "fonction d'Ackermann" A définie
pour m>0 et n>0 par :
A(m,n) = A(m-1,A(m,n-1)) pour m>0 et n>0
A(0,n) = n+1 pour n>0
A(m,0) = A(m-1,1) pour m>0.

Voila ce que j'ai fait ^^ :

#include <stdio.h>
#include <stdlib.h>

int A( int m , int n )
{
int resultat=0;
if ( m>0 && n>0)
return A(m-1,A(m,n-1));
else if(m>0 && n=0)
return A(m-1,1);
else
resultat=n-1;
return resultat;
}

int main(int argc, char *argv[])
{
int m=0,n=0,b=0;
scanf("%d",&m);
scanf("%d",&n);
b=A(m,n);
printf(" le resultat est %d ",b);
system("PAUSE");
return 0;
}

svp j'ai besoin d'aide le plus vite possible et merci bcp
Configuration: Windows XP
Safari 532.0

2 réponses

  1. Bonjour,

    Qu'est-ce que tu reçois comme message d'erreur lors de la compilation ?
    0
    1. Contributeur
      Bonjour,

      resultat=n-1;
      return resultat;

      Ca ne serait pas plutôt return n+1; Ou alors il y a une erreur dans ton énoncé.

      Sinon l'erreur vient de là je pense : else if(m>0 && n=0)
      A cause du n=0 (qui affecte 0 à n) et renvoie 0, ta condition sera toujours fausse.
      Pour comparer n à 0, il faut mettre : else if(m>0 && n==0) (opérateur double égal).

      Cdlt,
      0