2014-11-24 26 views
0

任何人都可以幫助我如何將遞歸過程的過程寫入.txt文件?如何將遞歸過程寫入.txt文件?

#include<iostream> 
using namespace std; 

int ack(int m,int n){ 
if(m==0){ 
     cout<<n<<"+1"<<endl; 
     return n+1; 
     } 
     else if((m!=0) && (n==0)){ 
       cout<<"a("<<m<<"-1,1)"<<endl; 
       return ack(m-1,1); 
       } 
       else if((m!=0) && (n!=0)){ 
        cout<<"a("<<m<<"-1,a("<<m<<","<<n<<"-1)"<<endl; 
        return ack(m-1,ack(m,n-1)); 
        } 
        }      
int main(){ 
cout<<ack(3,4)<<endl<<endl; 
system("pause"); 
} 

我已經試過這

ofstream filestream("filename..txt"); 

,但只寫結果

回答

0

有更好的方法來做到這一點,但我覺得這是一個簡單的:

#include <iostream> 
#include <fstream> 

using namespace std; 

ofstream file("filename.txt"); 
int ack(int m, int n){ 
    if (m == 0){ 
     file << n << "+1" << endl; 
     return n + 1; 
    } 
    else if ((m != 0) && (n == 0)){ 
     file << "a(" << m << "-1,1)" << endl; 
     return ack(m - 1, 1); 
    } 
    else if ((m != 0) && (n != 0)){ 
     file << "a(" << m << "-1,a(" << m << "," << n << "-1)" << endl; 
     return ack(m - 1, ack(m, n - 1)); 
    } 
} 
int main(){ 
    file << ack(3, 4) << endl << endl; 
    system("pause"); 
} 

另一種方法是將文件處理程序作爲參數傳遞。這有助於避免我使用的全局,但需要對代碼進行更多的更改才能實現。