View Single Post
Old Oct 15th, 2006, 4:47 PM   #1
codylee270
Unverified User
 
Join Date: Sep 2005
Posts: 209
Rep Power: 0 codylee270 is an unknown quantity at this point
Ackerman's function - crash upon launch

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
codylee270 is offline   Reply With Quote