This is a simple program that evaluates ackerman's function given 2 values. It opens and closes extremely quickly, no doubt a crash. Can anyone see the problem?
#include <iostream>
#include <cstdlib>
using namespace std;
int A(int, int);
int A(int in_m, int in_n)
{
int m = in_m;
int n = in_n;
if( m == 0 && n >= 0)
{
return (A(n + 1,0), 0);
}
else if(m>0 && n == 0)
{
return (A(m-1, 1));
}
else if( m>0 && n>0)
{
return( A(m-1, A(m, n-1)));
}
}
int main()
{
char ch;
cout << A(0,0) << endl;
cout << A(0,9) << endl;
cout << A(1,8) << endl;
cout << A(2,2) << endl;
cout << A(2,0) << endl;
cout << A(2,3) << endl;
cout << A(3,2) << endl;
cout << A(4,0) << endl;
cin >> ch;
return 0;
}
Thanks