C++怎么把所有运行结果保存在txt文件中?

代码如下,现需要把运行的所有结果保存到txt文件中:
#include <iostream>
#include <fstream>
#define N 100
using namespace std;
int n,weight,p[N],w[N];//n,weight分别代表物品数量和背包载重量
//p[N],w[N]分别存放物品的价值和重量

//从文本文件里面读取背包信息
void ReadData()
{
ifstream ifs("input.txt",ios::in);
ifs>>n>>weight;
for (int i=1;i<=n;i++)
{
ifs>>w[i]>>p[i];
}
}
void OutputData()
{
ofstream outfile("output.txt",ios::ut);
}

int count=0;//时间复杂度计数

void Package()
{
int sp,sw,cw=weight;
int m[N][N];
for(int i=0;i<=weight;i++)
if(i>=w[n])
m[n][i]=p[n];
else
m[n][i]=0;
for (i=n-1;i>=1;i--)
{
for (int j=0;j<=weight;j++)
{
if(j>=w[i]&&m[i+1][j]<m[i+1][j-w[i]]+p[i])
{
m[i][j]=m[i+1][j-w[i]]+p[i];
count++;
}
else
m[i][j]=m[i+1][j];
}
}
cout<<"背包所装物品:"<<endl;
cout<<"i "<<"w(i) "<<"p(i) "<<endl;
for (sw=0,sp=0,i=1;i<=n-1;i++)
{
if (m[i][cw]>m[i+1][cw])
{
cw-=w[i];
sw+=w[i];
sp+=p[i];
cout<<i<<" "<<w[i]<<" "<<p[i]<<" "<<endl;
}
}
if (m[1][weight]-sp==p[n])
{
sw+=w[n];sp+=p[n];
cout<<i<<" "<<w[i]<<" "<<p[i]<<" "<<endl;
}
cout<<"装入背包的物品总重量:"<<sw<<endl;
cout<<"装入背包的物品总价值:"<<sp<<endl;
}
void main()
{
ReadData();
Package();
cout<<"模拟时间复杂度为:"<<count<<endl;
OutputData();
}

第1个回答  2010-11-25
在vb中,如果没有强制规定要申明每个变量(即没有在窗体通用部分加入语句option explicit)那么可以不事先申明变量,系统默认将这个变量设置成virant类型,也就是遍体类型。在知道变量类型的时候(比如说楼主举例的这个equal明显是integer类型的)那为了节省内存,减少因为不小心打错字而产生的错误,尽量将变量事先申明···
第2个回答  2010-11-23
怎么这个输入框碰到 括号+引号 后面的文字就全没了,辛辛苦苦打了一片居然只剩:首先把ofstream outfile( 了 郁闷本回答被提问者采纳
第3个回答  2010-11-23
重定向管道.输入输入出都可以
运行你的程序eg:pro.exe<file.txt
pro.exe>file.txt本回答被网友采纳
相似回答