任何人都可以帮助我如何将递归过程的过程写入.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 :(得分: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");
}
另一种方法是将文件处理程序作为参数传递。这有助于避免我使用的全局,但需要对代码进行更多更改才能实现。