Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
HA4ERR
3 / 3 / 2
Регистрация: 01.07.2015
Сообщений: 50
#1

Как считывать только одно число типа double за один проход - C++

23.07.2015, 16:31. Просмотров 632. Ответов 8
Метки нет (Все метки)

Теперь измените тело цикла так, чтобы он считывал только одно число типа
double за один проход. Определите две переменные, чтобы определить, какое из
них имеет меньшее значение, а какое — большее среди всех ранее введенных
значений. За каждый проход цикла выводите на экран одно введенное число.
Если оно окажется наименьшим среди ранее введенных, выведите на экран
строку "Наименьшее среди ранее введенных". Если оно окажется наибольшим
среди ранее введенных, выведите на экран строку "Наибольшее среди
ранее введенных".
C++
1
2
3
4
5
6
7
8
9
10
11
12
int main()
{
    vector<double> values;
    double value = 0;
    while (cin>>value){
        values.push_back(value);}
    for (int i = 0; i<values.size(); ++i){
        cout << values[i] << " ";}
    sort(values.begin(),values.end());
    cout << "Max value = " << values[values.size()] << endl;
    cout << "Min value = " << values[0] << endl;
}
С минимальным значением всё работает, но как только захочу вывести максимальное:
C++
1
cout << "Max value = " << values[values.size()] << endl;
выскакивает ошибка, которая просит либо закрыть, либо прервать, либо повторить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.07.2015, 16:31
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как считывать только одно число типа double за один проход (C++):

Как из 4-х байт, составляющих число типа double, получить это число?
Как из 4-х байт, составляющих число типа double, получить это число? Пример:...

Как сделать так, чтобы scanf в переменную double мог считывать с клавиатуры не только "0,01", но и "0.01"
Помогите!) Не знаю, искал, не нашел, возможно ли вообще. Чтобы и так и так...

Как разделить переменую типа double на целое и дробное число ?
Как разделить переменую типа double на целое и дробное число ? Добавлено...

Как проверить вводилось ли число (типа double или float) в консоль
Как проверить вводилось ли число (типа double или float) в консоль?

Как правильно число в ячейке типа string, перекинуть в ячейку в тип double ?
Cуть вопроса описанна в теме. Может не правильно объяснил, но всё же, вот...

Разбить число типа double на 2 числа
Добрый день! Попалась мне такая задача - есть 2 интовые переменные, есть число...

8
Tsin
720 / 465 / 183
Регистрация: 30.12.2012
Сообщений: 1,264
Записей в блоге: 2
Завершенные тесты: 3
23.07.2015, 16:43 #2
C++
1
cout << "Max value = " << values[values.size() - 1] << endl;
1
xstf
0 / 0 / 1
Регистрация: 05.04.2017
Сообщений: 6
12.04.2017, 19:36 #3
Извините, что я задаю такой глупый вопрос но: как я понимаю нет смысла заключать в {} скобки тело цикла , если там только одна инструкция? и обратно - имеет место , только при нескольких инструкциях в теле цикла? т.е.
C++
1
2
 while (cin>>value){
        values.push_back(value);}
не имеет смысла? извиняюсь за такой вопрос.
0
Croessmah
++Ͻ
14158 / 8083 / 1513
Регистрация: 27.09.2012
Сообщений: 19,921
Записей в блоге: 3
Завершенные тесты: 1
12.04.2017, 20:31 #4
Цитата Сообщение от xstf Посмотреть сообщение
не имеет смысла?
Так меньше шансов допустить ошибку,
например, при копипасте или модификации кода.
1
xstf
0 / 0 / 1
Регистрация: 05.04.2017
Сообщений: 6
13.04.2017, 15:55 #5
спасибо)
0
GbaLog-
Любитель чаепитий
3156 / 1462 / 462
Регистрация: 24.08.2014
Сообщений: 5,180
Записей в блоге: 1
Завершенные тесты: 2
13.04.2017, 16:16 #6
Цитата Сообщение от HA4ERR Посмотреть сообщение
C++
1
values[values.size()]
values.back();
Цитата Сообщение от HA4ERR Посмотреть сообщение
C++
1
values[0]
values.front();
0
MrGluck
Модератор
Эксперт CЭксперт С++
8022 / 4865 / 1425
Регистрация: 29.11.2010
Сообщений: 13,243
13.04.2017, 17:11 #7
Цитата Сообщение от GbaLog- Посмотреть сообщение
values.back();
Не равнозначно, в оригинале выход за пределы вектора.
0
GbaLog-
Любитель чаепитий
3156 / 1462 / 462
Регистрация: 24.08.2014
Сообщений: 5,180
Записей в блоге: 1
Завершенные тесты: 2
13.04.2017, 17:24 #8
Цитата Сообщение от MrGluck Посмотреть сообщение
Не равнозначно, в оригинале выход за пределы вектора.
это троллинг такой?
если да, то я не понял.
0
MrGluck
Модератор
Эксперт CЭксперт С++
8022 / 4865 / 1425
Регистрация: 29.11.2010
Сообщений: 13,243
13.04.2017, 17:28 #9
Цитата Сообщение от GbaLog- Посмотреть сообщение
это троллинг такой?
если да, то я не понял.
Это замечание что данный вариант ещё и исправляет ошибку ТС-а, которую можно было бы и избежать, применив сразу правильный метод.
0
13.04.2017, 17:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2017, 17:28
Привет! Вот еще темы с решениями:

Дайте денормализованное число типа double
Нужно для текста, число надо разобрать на мантиссу и порядок и снова собрать.

long double и double в MSVC 12 одно и тоже, нужна информация,желательно быстрей
Здравствуйте все знают что в VC long double и double одно и тоже, да и при...

Аргумент типа double несовместим с параметром типа double*
Функция function должна возвращать количество элементов массива, значение...

Аргумент типа double несовместим с параметром типа double
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;math.h&gt; using namespace std;...


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

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

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