急求答案:C++读取文本,赋值给一个数组时。。。。

data.txt:123456789//read_data.cpp#include<fstream>#include<iostream>usingnamespace::s... data.txt:
1 2 3
4 5 6
7 8 9
//read_data.cpp
#include<fstream>
#include<iostream>
using namespace::std;

int main(){
int a,b;//数组大小
cin>>a>>b;
int** m = new int*[a];
for(int i = 0;i < a;++i){
*m = new int[b];
}

ifstream in("data.txt");

for(int i = 0;i < a;++i){
for(int j = 0;j < b;++j){
in>>m[i][j];
}
}
system("pause");
return 0;
}
这其中有一行是in>>m[i][j].我不清楚他是咋赋值的,怎么将文本中的数据拷贝过来的,就是说第一行的1,2,3分别是赋值给了二维数组中的哪一个。。。
展开
 我来答
mayraining
推荐于2017-12-07 · 超过25用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:0
展开全部
这个数组定义大小是根据输入的a,b的值来确定其维数的,
即数组就是m[a][b]。
而赋值是用双层for循环,从文本输入,其中内层for先将m[0][j],(j值从0到b-1)
外层则是一个大的循环控制m[i][j],内层循环一次后外层i+1。直到循环结束。
也就是说,赋值得看输入的a,b值的大小了。如果a=1,b = 9.就相当于一维数组了。
a = 2, b = 5.则m[0]中依次是12345,m[1]中依次是6789
如果a = 3,b = 3就按文本中的形式存储m[0] 依次是 123,m[1]依次456,m[2]依次是789
killex
2010-08-27 · TA获得超过121个赞
知道答主
回答量:116
采纳率:0%
帮助的人:73万
展开全部
稍微修改了下,你的程序。这样也许能更好看些。
赋值就是你说的那句 in>>m[i][j]。
in是一个输入流,它打开的就是那个data.txt 文本。
因为m[i][j]是int 型的,所以它每次读取一个数,放到数据M中了
我的输入是:
1 9
-842150451
-842150451
-842150451
-842150451
-842150451
-842150451
-842150451
-842150451
-842150451
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
请按任意键继续. . .

//read_data.cpp
#include<fstream>
#include<iostream>
using namespace::std;

int main()
{
int a,b;//数组大小
cin>>a>>b;
int** m = new int*[a];
for(int i = 0;i < a;++i)
{
*m = new int[b];
}

for( i = 0;i < a;++i)
{
for(int j = 0;j < b;++j)
{
cout << m[i][j] <<endl;
}
}

ifstream in("data.txt");

for( i = 0;i < a;++i)
{
for(int j = 0;j < b;++j)
{
in >> m[i][j];
cout << m[i][j] <<endl;
}
}
for( i = 0;i < a;++i)
{
for(int j = 0;j < b;++j)
{
cout << m[i][j] <<endl;

}
}
system("pause");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
游牧铲
2010-08-27 · TA获得超过1268个赞
知道小有建树答主
回答量:244
采纳率:0%
帮助的人:438万
展开全部
1给了m[0][0]
2给了m[0][1]
3给了m[0][2]

in是重载的文件写入流...
就跟cin的读法一样
主要就是循环的顺序了...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
捣蒜大师Edison
2017-12-07 · TA获得超过2963个赞
知道大有可为答主
回答量:3825
采纳率:77%
帮助的人:1264万
展开全部
in>>m[i][j];
m[i][j]是int,就是在data.txt读取一个int到m[i][j]而已啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式