蔡志雄是哪里人:关于C++选迭器的问题
来源:百度文库 编辑:高考问答 时间:2024/05/04 13:11:12
#include <iostream>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::vector;
int main()
{
cout << "请输入一组整数:" <<endl;
vector<int> num;
vector<int>::iterator iter = num.begin();
while(cin>>*iter)
++iter;
system("pause");
return 0;
}
此程序编译通过,但是运行时WINDOWS说遇到错误需要关闭
请说明原因并提供解决方法
此问题若能成功解决追加80悬赏
如果我想用选迭器读未知数量的整数到vector对象,应该怎么写呢?
#include <iostream>
#include <vector>
using namespace std;
int main()
{
cout << "ÇëÊäÈëÒ»×éÕûÊý£º" <<endl;
vector<int> num;
vector<int>::iterator iter = num.begin();
int b;
while (1)
{
cin >> b;
if (99 == b)
{
break;
}
else
{
num.push_back(b);
}
}
system("pause");
return 0;
}
输入“99”的时候程序退出。
因为你定义vector的时候是空的,而且没有长度,不能通过begin来访问。
#include <iostream>
#include <vector>
using namespace std;
void Display(vector<int>* vec)
{
vector<int>::iterator it = vec->begin();
for (; it != vec->end(); it++)
{
cout << *it << endl;
}
}
int main()
{
cout << "ÇëÊäÈëÒ»×éÕûÊý£º" <<endl;
vector<int> num;
vector<int>::iterator iter = num.begin();
int b;
while (1)
{
cin >> b;
if (99 == b)
{
break;
}
else if (66 == b)
{
Display(&num);
}
else
{
num.push_back(b);
}
}
system("pause");
return 0;
}
看看这段代码,当输入“66”的时候,打印出这个vector的所有元素,当输入“99”的时候程序退出。当然这些标志可以你自己定。