c++输入输出;流
#include<iostream>#include<iomanip>#include<fstream>usingnamespacestd;voidexchange(in...
#include<iostream>
#include<iomanip>
#include<fstream>
using namespace std;
void exchange(int b[][4],int h1,int h2)
{
for(int j=0;j<4;j++)
{
int i=0;
i=b[h1-1][j];
b[h1-1][j]=b[h2-1][j];
b[h2-1][j]=i;
}
}
int main()
{
int h1,h2;
int a[4][4],b[4][4];
fstream file1,file2;
file1.open("data.txt");
cout<<"输入一个4X4的矩阵"<<endl;
for(int i=0,j=0;i<4;i++)
{
for(;j<4;j++)
cin>>a[i][j];
j=0;
}
for(int i=0,j=0;i<4;i++)
{
for(;j<4;j++)
file1<<setw(8)<<a[i][j];
j=0;
file1<<endl;
}
file2.open("data.txt");
for(int i=0,j=0;i<4;i++)
{
for(;j<4;j++)
file2>>b[i][j];
j=0;
}
cout<<"输入想交换的两行"<<endl;
cin>>h1>>h2;
exchange(b,h1,h2);
for(int i=0,j=0;i<4;i++)
{
for(;j<4;j++)
cout<<setw(4)<<b[i][j];
j=0;
cout<<endl;
}
file1.close();
file2.close();
}
写入为什么需要data.txt事先存在;
如果没建立txt的话,程序运行完也没有这个文件 展开
#include<iomanip>
#include<fstream>
using namespace std;
void exchange(int b[][4],int h1,int h2)
{
for(int j=0;j<4;j++)
{
int i=0;
i=b[h1-1][j];
b[h1-1][j]=b[h2-1][j];
b[h2-1][j]=i;
}
}
int main()
{
int h1,h2;
int a[4][4],b[4][4];
fstream file1,file2;
file1.open("data.txt");
cout<<"输入一个4X4的矩阵"<<endl;
for(int i=0,j=0;i<4;i++)
{
for(;j<4;j++)
cin>>a[i][j];
j=0;
}
for(int i=0,j=0;i<4;i++)
{
for(;j<4;j++)
file1<<setw(8)<<a[i][j];
j=0;
file1<<endl;
}
file2.open("data.txt");
for(int i=0,j=0;i<4;i++)
{
for(;j<4;j++)
file2>>b[i][j];
j=0;
}
cout<<"输入想交换的两行"<<endl;
cin>>h1>>h2;
exchange(b,h1,h2);
for(int i=0,j=0;i<4;i++)
{
for(;j<4;j++)
cout<<setw(4)<<b[i][j];
j=0;
cout<<endl;
}
file1.close();
file2.close();
}
写入为什么需要data.txt事先存在;
如果没建立txt的话,程序运行完也没有这个文件 展开
展开全部
文件流在打开的时候可以指定打开模式,例如只读,只写,新建文件等,没指定的话会按默认来打开文件,不会新建文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有几个bug,file1,file2是同一个文件。另外打开文件要养成set mode的习惯。最后请使用绝对路径。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询