Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.11.2014
Сообщений: 3
1

Ввод через пробел. Как остановить ввод. while(cin >> input)

22.02.2019, 17:43. Просмотров 2182. Ответов 1

Здравствуйте. Начну с условия задания.
Ввести к-во элементов массива. Заполнить массив. Отсортировать и вывести на экран количество элементов и сами элементы.
Требования: Для ввода/вывода использовать (cin/cout). Ввод/вывод данных должен осуществляться через пробел. И соответствовать шаблону:
Input:
3 3 1 2
Output:
3 1 2 3

Собственно вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <vector>
#include <algorithm>
 
void main()
{
    std::vector<int> array;
 
    int size = 0;
    int data = 0;
 
    // Enter length of sequence
    std::cout << "Input:\n";
    std::cin >> size;
    while (std::cin >> data)
    {
        array.emplace_back(data);
        if (array.size() == size)
            break;
    }
 
    std::sort(array.begin(),array.end());
 
    // output sequence
    std::cout << "Output:\n" << size;
    for (auto it : array)
        std::cout << " " << it;
}
ВОПРОС: Можно ли остановить пользовательский ввод до нажатия ENTER? Хоть я и записываю в вектор нужно количество элементов. Но могу ввести гораздо больше элементов. Можно как-то от этого избавится?

Если не смог донести вопрос. Вот пример работы кода:
Input:
3 3 1 2 4 5 6 7 8 ....... \n
Output:
3 1 2 3
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2019, 17:43
Ответы с готовыми решениями:

Ввод уравнения через cin
Здравствуйте, столкнулся с проблемой. Нужно ввести значения х_min = pi/5, x_max = 9*pi/5. не пойму...

Ввод через cin нескольких чисел
Здравствуйте. Требуется, чтобы пользователь ввел через запятую два числа. Используя scanf(), я...

Бесконечный ввод значений через команду cin
Поставлена задача создать целочисельную матрицу и написать к ней такие ф-ции: будут вводить и...

Ввод чисел через пробел
Доброго времени суток! Подскажите как правильно сделать. Есть односвязный список. Нужно вводить...

1
Параллельный Кот
1887 / 814 / 345
Регистрация: 25.03.2016
Сообщений: 2,016
22.02.2019, 18:28 2
Лучший ответ Сообщение было отмечено Витя_ как решение

Решение

Цитата Сообщение от Витя_ Посмотреть сообщение
Можно ли остановить пользовательский ввод до нажатия ENTER?
При таком способе ввода нельзя. Зачем вам это и зачем вводить больше элементов, чем требуется? Лишние элементы все равно игнорируются. У вас по условию первое число - количество элементов. Просто вводите столько элементов, сколько указано (что собственно и сделано в программе).
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2019, 18:28

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ввод массива через пробел
Есть массив int С, и есть строка string S, у строки S есть длинна S.size(), следовательно кол-во...

Оператор cin. Ввод нескольких переменных через делитель
Всем доброго времени суток. Я начинаю работать с C++ и столкнулся с такой проблемой при написании...

Ввод двух строк через пробел
Здравствуйте, подскажите пожалуйста как осуществить ввод двух строк через пробел. Например: 123 321.

Ввод чисел пользователем через пробел
Есть задача, где пользователь вводит количество годов, а на следующей строке перечисляет эти года...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.