c++中怎么将文件数据读入二维数组
c++中如何将文件数据读入二维数组
txt文件格式如下:有n*n个数据
1 5.3 3.6 2.11 3.22 12.6、、、、、
2 52.3 21.3 3.6 9.5 6.32、、、、
3、、、、、、
、
、
n 12.3 3.9 2.3 1.3 1.2 6.5、、、
我要将数据读入一个float型n*n数组,如何做?
------解决方案--------------------
ifstream infile;
infile.open( "file.txt ");
if(!infile)
{
cout < < "cann 't open file " < <endl;
return -1;
}
int n=10;
float **A=new float*[n];
for(int i=0;i!=n;++i)
A[i]=new float[n];
for(int i=0;i!=n;++i)
for(int j=0;j!=n;++j)
infile> > A[i][j];
/.....
...../
for(int i=0;i!=n;++i)
delete [] A[i];
delete []A;
------解决方案--------------------
#include <cstdlib>
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ifstream openf( "data.txt ");
float tmp[8][8]={0};
int i=0, j=0;
while(!openf.fail())
{
if(j==3)i++, j=0;
openf> > tmp[i][j++];
}
for(i=0; i <3; i++)
{
for(j=0; j <3; j++)cout < <tmp[i][j] < < "\t ";
cout < <endl;
}
system( "PAUSE ");
return 0;
}
/*
data.txt 文件数据:
1.0341 2.0641 3.0671
4.0861 5.2435 6.7544
7.2424 8.3353 9.3511
*/
txt文件格式如下:有n*n个数据
1 5.3 3.6 2.11 3.22 12.6、、、、、
2 52.3 21.3 3.6 9.5 6.32、、、、
3、、、、、、
、
、
n 12.3 3.9 2.3 1.3 1.2 6.5、、、
我要将数据读入一个float型n*n数组,如何做?
------解决方案--------------------
ifstream infile;
infile.open( "file.txt ");
if(!infile)
{
cout < < "cann 't open file " < <endl;
return -1;
}
int n=10;
float **A=new float*[n];
for(int i=0;i!=n;++i)
A[i]=new float[n];
for(int i=0;i!=n;++i)
for(int j=0;j!=n;++j)
infile> > A[i][j];
/.....
...../
for(int i=0;i!=n;++i)
delete [] A[i];
delete []A;
------解决方案--------------------
#include <cstdlib>
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ifstream openf( "data.txt ");
float tmp[8][8]={0};
int i=0, j=0;
while(!openf.fail())
{
if(j==3)i++, j=0;
openf> > tmp[i][j++];
}
for(i=0; i <3; i++)
{
for(j=0; j <3; j++)cout < <tmp[i][j] < < "\t ";
cout < <endl;
}
system( "PAUSE ");
return 0;
}
/*
data.txt 文件数据:
1.0341 2.0641 3.0671
4.0861 5.2435 6.7544
7.2424 8.3353 9.3511
*/