Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
#1

как реализовать остановку цикла с условием cin>>a - C++

21.04.2013, 21:45. Просмотров 449. Ответов 4
Метки нет (Все метки)

Здравствуйте.
Программа пишет не более двух элементов в вектор, после нажатия Enter - их выводит.
Как сделать, чтобы она выводила их при появлении в потоке ввода символа "|" ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int main()
{
    vector<double> d;
    double a=0;
    int j=0;
    while (cin>>a && j<2){
        d.push_back(a);
        ++j;
    }
    
    for (int i=0; i<d.size(); ++i){
    cout << "d[" << i <<"] == " <<d[i]<<'\n';
    }
BTW, я не сильно понял что есть разделители в потоке cin - это пробел, как я понял и что-то еще?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2013, 21:45     как реализовать остановку цикла с условием cin>>a
Посмотрите здесь:

C++ while (cin >> s) - не выходит из цикла по нажатию enter
C++ хочу попробовать всунуть "for (int j=0; j<5; j++)" в cin. Как это можно реализовать?
Алгоритмы со сложным условием продолжением цикла (Оконное приложение) C++
Использование условного оператора после операторов цикла с условием C++
C++ Использование условного оператора после операторов цикла с условием
Пропуск вызова cin.getline в первой итерации цикла C++
Реализовать собственный cin C++
C++ Нюансы синтаксиса: что значит std::cin в условии цикла while?
C++ Оператор цикла с условием
C++ Оператор цикла с условием
Как реализовать переход на следующую итерацию внешнего цикла из вложенного? C++
C++ Как реализовать переход на следующую итерацию внешнего цикла из вложенного?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.04.2013, 21:51     как реализовать остановку цикла с условием cin>>a #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
vector<double> d;
double a=0;
 
while (cin >> a && (cin.peek() != '|'))
{
     d.push_back(a);
      
}
    
for (int i=0; i<d.size(); ++i)
{
    cout << "d[" << i <<"] == " <<d[i]<<'\n';
}
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
21.04.2013, 22:53  [ТС]     как реализовать остановку цикла с условием cin>>a #3
А почему не так:
C++
1
while (cin>>a && (j <2 || (cin.peek() != '|')))
p.s. А почему ввод просто символа не прерывает цикл даже без использования функции-члена? Ведь там указано, что cin ведет в double-переменную?
p.p.s. Что-то не так, программа не останавливается пока Enter не нажмешь...
alsav22
5413 / 4809 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.04.2013, 23:52     как реализовать остановку цикла с условием cin>>a #4
Чтобы получить правильный ответ, нужно задать правильно вопрос. Вопрос не понял...
andrejap
13 / 13 / 1
Регистрация: 21.04.2013
Сообщений: 245
21.04.2013, 23:58  [ТС]     как реализовать остановку цикла с условием cin>>a #5
Вы правы, но уже отпала актуальность, ибо решение уже соответствует требованиям задачи.
Спасибо!
Yandex
Объявления
21.04.2013, 23:58     как реализовать остановку цикла с условием cin>>a
Ответ Создать тему
Опции темы

Текущее время: 20:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru