如何实现以下内容的一次性输入?

wybkl88 2004-09-28 03:02:28
最近遇到一个题,要输入以下数据:
3
7
6 7
4 7 3 6
2 1 3 5
第一行是一个数字M(1<=M<=100),表示开通了M条单向巴士线路
第二行是一个数字N(1<=N<=500),表示共有N个巴士站
从第三行到第M+2行依次给出了第一条到第M条巴士线路的信息,其中第i+2行给出的是第i条巴士线路的信息(经过了哪些巴士站)。
巴士站编号为1,2,...,N
...全文
152 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
vitamines 2004-10-04
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <string.h>
struct lS
{
int m;
int n;
char **p;
};

void input(lS &S)
{
cin >> S.n >> S.m;
S.p = new char*[S.m];
for(int i=0; i<S.m; i++)
{
S.p[i] = new char[S.n];
for(int j=0; j<S.n; j++)
{
cin >> S.p[i][j];
//cout << S.p[i][j];
}
cout << endl;
}
}
void main()
{
lS S;
input(S);
}
BoBo008 2004-09-29
  • 打赏
  • 举报
回复
晕,没有说明确定的数据源,只说了规则
wybkl88 2004-09-29
  • 打赏
  • 举报
回复
一次性输入,就是不给用户提示——让他现在应该输入什么数,而是让他将所有的数据全都输入,比如:上面的所有数据。
还要注意,从第三行到地M+2行总共是M行,和第一行输入的数据相同。
wybkl88 2004-09-29
  • 打赏
  • 举报
回复
不仅仅是一次性导入内存,我还要将这些数据一个个记录下来,比如:将这些数据存到一个二维数组里面,第三行到第M+2依次存到数组的0到M-1行。
bobob 2004-09-29
  • 打赏
  • 举报
回复
当然可以啊


cin>>M;
cin>>N;
for(int i = 0;i<M1;i++)
cin>>MArr[i];//MArr为二维数组
mingkui 2004-09-29
  • 打赏
  • 举报
回复
是不是可以 用函数来判断 ?
逸学堂 2004-09-29
  • 打赏
  • 举报
回复
不仅仅是一次性导入内存,我还要将这些数据一个个记录下来,比如:将这些数据存到一个二维数组里面,第三行到第M+2依次存到数组的0到M-1行。
----------------------
你的意思是不是如何保存输入的这些数据啊?
如果是可以这样
#include <vector>
using namespace::std;
typedef vector<int> AA;
typedef vector<AA> BB;
这时候的BB就相当于一个二维数组,好处就是
你不用设置这个二维数组的维数,可以直接应用
比如
AA a,c,d;
BB b;
a.push_back(3);
c.push_back(7);
d.push_back(6);
d.push_back(7);
b.push_back(a);
b.push_back(c);
b.push_back(d);
这样b中保存就是你要的数据
kobefly 2004-09-29
  • 打赏
  • 举报
回复
哦,有点头晕
lifan5748 2004-09-28
  • 打赏
  • 举报
回复
一次性输入是什么意思?说清楚一点
rtdb 2004-09-28
  • 打赏
  • 举报
回复
先把数据写到一个文本文件吧。再用程序从文件中读出来。
hxblvc 2004-09-28
  • 打赏
  • 举报
回复
>>如何实现以下内容的一次性输入
你要从那里输入啊,是从文件到内存吗?
如是查从文件到内存, open("*.*","rb");
fread();就可以一次性读入内存,
具体用法,看MSDN.
Lonelywolf1216 2004-09-28
  • 打赏
  • 举报
回复
搞一个While循环,判断输入,if(input!=EOF)......

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧