Как скрутить с вектором - PullRequest
       34

Как скрутить с вектором

34 голосов
/ 04 декабря 2011

Я пытаюсь попросить пользователя ввести числа, которые вставляются в вектор, а затем с помощью вызова функции вычислить числа, почему это не работает?Я могу набрать только первый номер.

template <typename T>
void write_vector(const vector<T>& V)
{
   cout << "The numbers in the vector are: " << endl;
  for(int i=0; i < V.size(); i++)
    cout << V[i] << " ";
}

int main()
{
  int input;
  vector<int> V;
  cout << "Enter your numbers to be evaluated: " << endl;
  cin >> input;
  V.push_back(input);
  write_vector(V);
  return 0;
}

Ответы [ 16 ]

1 голос
/ 22 июля 2017
#include<bits/stdc++.h>
using namespace std;

int main()
{
int x,n;
cin>>x;
vector<int> v;

cout<<"Enter numbers:\n";

for(int i=0;i<x;i++)
 {
  cin>>n;
  v.push_back(n);
 }


//displaying vector contents

 for(int p : v)
 cout<<p<<" ";
}

Простой способ ввода данных в векторе.

1 голос
/ 27 августа 2013
#include<iostream>
#include<vector>
#include<sstream>
using namespace std;

int main()
{
    vector<string> v;
    string line,t;
    getline(cin,line);
    istringstream iss(line);
    while(iss>>t)
        v.push_back(t);

    vector<string>::iterator it;
    for(it=v.begin();it!=v.end();it++)
        cout<<*it<<endl;
    return 0;
}
1 голос
/ 05 декабря 2011

Просто добавьте еще одну переменную.

int temp;
while (cin >> temp && V.size() < n){
    V.push_back(temp);
}
1 голос
/ 05 декабря 2011

Исходное значение size() из V будет равно 0, в то время как int n содержит любое случайное значение, поскольку вы его не инициализируете.

V.size() < n вероятно неверно.

Глупый я пропустил "Enter the amount of numbers you want to evaluate: "

Если вы введете n, который меньше V.size() в то время, цикл завершится.

1 голос
/ 05 декабря 2011

В этом случае ваш while цикл будет выглядеть как

int i = 0;
int a = 0;
while (i < n){
  cin >> a;
  V.push_back(a);
  ++i;
}
0 голосов
/ 15 октября 2015

будет проще, если вы укажете размер вектора с помощью ввода:

int main()
{
  int input,n;
  vector<int> V;
  cout<<"Enter the number of inputs: ";
  cin>>n;
  cout << "Enter your numbers to be evaluated: " << endl;
  for(int i=0;i<n;i++){
  cin >> input;
  V.push_back(input);
  }
  write_vector(V);
  return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...