vector中元素的输入和终止

在Essential C++一书课后题1-6的答案中,有了新的发现。

题目概述为:

编写一个程序,从标准输入设备读取一段整数,并将读入的整数依次放到array及vector中,然后遍历这两种容器,求取数值总和。将总和及平均值输出至标准输出设备。

答案代码:

//用vector 解决问题
#include<iostream>
#include<vector>           //用vector方式的头文件
using namespace std;

int main()
{
vector<int>ivec;             //vector 的定义
int ival;                        //什么作用?
int sum,average,ix;

while(cin>>ival)
ivec.push_back(ival);

//?while(cin>>ival)
                                //ivec.push_back(ival);
                             //输入ival,并存放到ivec中间。
                              //CT RL+D,再按enter键结束。
                                 //push_back是一个默认得操作函数,作用是在vector的尾部插入一个元素,这个元素的值就是ival的值。
                             //我们可以在数值被输入时就实时计算总和。
                               //这里的做法是遍历vector的元素,一一累加
for(sum=0,ix=0;ix<ivec.size();++ix)
sum+=ivec[ix];
average=sum/ivec.size();
cout <<"Sum of"<<ivec.size()
<<"elements:"<<sum
<<".Average:"<<average<<endl;
return 0;

}

新知识点:

int ival;

while(cin>>ival)
                                //ivec.push_back(ival);
                             //输入ival,并存放到ivec中间。
                              //CT RL+D,再按enter键结束。
                                 //push_back是一个默认得操作函数,作用是在vector的尾部插入一个元素,这个元素的值就是ival的值。
                             //我们可以在数值被输入时就实时计算总和。

重点是学会这个函数的操作以及在执行时如何终止输入开始输出。

时间: 2024-11-05 03:21:19

vector中元素的输入和终止的相关文章

删除vector中元素高效的方法

#include <iostream> #include <vector> using namespace std; int main() { std::vector<int> ve1; ve1.push_back(1); ve1.push_back(2); ve1.push_back(3); ve1.push_back(4); ve1.push_back(5); ve1.push_back(6); std::vector<int>::iterator it

【C++】判断元素是否在vector中,对vector去重,两个vector求交集、并集

#include <iostream> #include <vector> #include <algorithm> //sort函数.交并补函数 #include <iterator> //求交并补使用到的迭代器 using namespace std; //打印容器vector void print_vector(vector<int> v){ if(v.size()>0){ cout<<"{"; for

java.util.vector中的vector的详细用法

ArrayList会比Vector快,他是非同步的,如果设计涉及到多线程,还是用Vector比较好一些 import java.util.*; /** * 演示Vector的使用.包括Vector的创建.向Vector中添加元素.从Vector中删除元素. * 统计Vector中元素的个数和遍历Vector中的元素. */ public class VectorDemo{ public static void main(String[] args){ //Vector的创建 //使用Vector

C++ stack,queue,vector 中 易混淆的常用方法 浅析

C++ 中stack,queue,vector是常见的数据结构,它们分别封装在<stack>,<queue>,<vector>头文件中. stack,queue,vector的定义如下: stack<class T> s; queue<class T> q; vector<class T> v; stack常用方法: push()的向容器顶部里插入元素: pop()是删除容器顶部的元素: top()返回容器顶部的元素: size()返

C++ vector中实际删除元素使用的是容器vecrot中std::vector::erase()方法

C++ vector中实际删除元素使用的是容器vecrot中std::vector::erase()方法. C++ 中std::remove()并不删除元素,因为容器的size()没有变化,只是元素的替换. 1.std::vector::erase() 函数原型:iterator erase (iterator position); //删除指定元素 iterator erase (iterator first, iterator last); //删除指定范围内的元素 返回值:指向删除元素(或

删除vector中的偶数元素,删除list中的奇数元素

#include<vector> #include<list> #include<iostream> using namespace std; int main() { vector<int> vec={0,1,1,2,3,5,8,21,55,89}; list<int> li={0,1,1,2,3,5,8,21,55,89}; auto ve=vec.begin(); auto it=li.begin(); while(ve!=vec.end(

编写函数,以读模式打开一个文件,将其内容读入到一个string的vector中,将每一行作为一个对立的元素存于vector中

#include<iostream> #include<string> #include<vector> #include<fstream> using namespace std; int main(int argc,char *argv[]) { ifstream input(argv[1]); vector<string> vec; string tmp; while(getline(input,tmp)) { vec.push_back(

vector中的元素删除

删除vector中的元素,最容易的方法就是使用vector的erase()函数. vector vec;for ( vector::iterator iter = vec.begin(); iter! = vec.end();){    if(某条件成立)        iter = vec.erase(iter);    else        iter ++;} 如果要清空vector中的元素,可以使用erase()循环删除,也可以用clear()函数. for ( vector::iter

Vector 删除元素

数据结构上机测试1:顺序表的应用 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 在长度为n(n<1000)的顺序表中可能存在着一些值相同的"多余"数据元素(类型为整型),编写一个程序将"多余"的数据元素从顺序表中删除,使该表由一个"非纯表"(值相同的元素在表中可能有多个)变成一个"纯表"(值相同的元素在表中只能有一个). 输入 第一行输入表的长度n: