c++ 把TXT中数据传入一个二维数组

我能够操作二维数组,TXT的文件格式该是什么样的
0 1 2 3 4 5 6 9 10 11 12 13
1 0 0 0 5 0 0 0 0 4 0 9
2 0 0 0 6 6 8 3 3 4 10 0
3 0 0 0 0 3 0 0 0 7 4 0
4 6 4 0 0 5 0 4 4 0 4 11
5 0 4 7 5 0 0 0 0 9 0 4
6 0 3 0 0 0 0 0 0 0 7 4
9 0 6 0 5 0 0 0 0 9 0 6
10 0 6 0 5 0 0 0 0 6 0 9
11 11 11 9 0 7 0 5 11 0 0 0
12 0 3 9 9 0 5 0 0 0 0 0
13 5 0 0 5 12 12 12 3 0 0 0
比如像这样的12*12的矩阵

第1个回答  推荐于2016-08-05
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include<string.h>
#define m 3 //行数
#define n 4 //列数
void main()
{
char fileName[30]; //文件名长度范围,30,可更改
int i=0,j=0;
float a[m][n];
cout<<"Please input the name of student file:\n";
cin>>fileName; //注意输入文件路径如: D:\\cpp\\data.txt
fstream infile;
infile.open(fileName,ios::in);
if(!infile)
{
cerr<<"File could not open.\n";
abort();
} //此处的 if 语句 可以不要
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
infile>>a[i][j];
cout<<a[i][j]<<'\t';
}
cout<<'\n';
}
infile.close();
}
注意在运行程序时最好关闭txt文件,以免发生错误。

不知道是否对兄弟有帮助。本回答被提问者采纳
第2个回答  2011-04-09
#include <iostream>
#include <fstream>
#define N 2//数据的行数

using std::ofstream;
using std::endl;
int main(void)
{
double YK[N][3];
ofstream ofs("c:\\a.txt");//将数据写入c:\a.txt文件

YK[0][0]=0.0;
YK[0][1]=0.1;
YK[0][2]=0.2;
YK[1][0]=1.0;
YK[1][1]=1.1;
YK[1][2]=2.2;

for (int i=0; i<N; i++) { //写入数据
for (int j=0; j<3; j++) {
ofs<<YK[i][j];
if (j<2) ofs<<",";
}
ofs<<endl;
}
ofs.close(); //关闭文件

return 0;
}
第3个回答  2011-04-10
格式自己组织啊.可以 一行144个数,中间加空格,只要读写对就可以了.
或者12行,每行12个数.
都可以.
第4个回答  2011-04-09
这个看你的txt文件是什么格式的了,根据格式不同把数据读入,保存在数组里
第5个回答  2011-04-09
不太明白楼主意思 能详细点否?
主要就是设计到文件流的操作和txt文本的格式。
把问题列详细点吧
相似回答