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

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

Войти
Регистрация
Восстановить пароль
 
Tobyan
0 / 0 / 0
Регистрация: 06.04.2012
Сообщений: 6
#1

name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае. - C++

06.04.2012, 18:39. Просмотров 508. Ответов 8
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
int main(){
    vector<double> temps;
    double temp;
    cout << "Введите последовательность символов и | для завершения цикла." << endl;
    while (cin >> temp){
        temps.push_back(temp);
    }
    sort(temps.begin(),temps.end());
    cout << "Максимальное значение вектора : " << temps[temps.size()] << endl;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2012, 18:39     name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае.
Посмотрите здесь:

C++ Строка: Выдать сообщение об ошибке в случае отсутствия точки в строке
C++ 3.1 Посмотрите, вроде быстрая сортировка, в любом случае, можете переделать(лучше под с++)?
C++ Напишите программу, которая при вводе любого символа, кроме x выдает этот же символ и номер шага, в противном случае - выходит.
C++ Не получается вернуть значение массива char tags[SIZE]
Значение логарифма при любом аргументе C++
Как правильно вызвать конструктор вектора в данном случае? C++
Функция которая ищет сумму символов строки выдает ноль C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
 Аватар для Байт
15052 / 9454 / 1383
Регистрация: 24.12.2010
Сообщений: 17,503
06.04.2012, 18:43     name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае. #2
В Си все нумеруется с нуля. Это он передал C++ по наследству. Надеюсь, элементы вектора тоже не исключение.
[size() - 1];
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
06.04.2012, 18:45     name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае. #3
Цитата Сообщение от Tobyan Посмотреть сообщение
cout << "Максимальное значение вектора : " << temps[temps.size()] << endl;
*temps.rbegin();
std::max_element(temps.begin(), temps.end());
Tobyan
0 / 0 / 0
Регистрация: 06.04.2012
Сообщений: 6
06.04.2012, 18:54  [ТС]     name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае. #4
Цитата Сообщение от soon Посмотреть сообщение
*temps.rbegin();
std::max_element(temps.begin(), temps.end());
Не совсем понял, что нужно сделать.
зы: я использую using namespace std;
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
06.04.2012, 18:59     name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае. #5
Tobyan, я привел аналоги. Второй вариант не требует сортировки.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
06.04.2012, 19:04     name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае. #6
C++
1
2
*temps.rbegin(); // последний элемент в контейнере
std::max_element(temps.begin(), temps.end()); // максимальный элемент в контейнере
вообще товарищ я бы вам советовал почитать умную книжку или мануал
Tobyan
0 / 0 / 0
Регистрация: 06.04.2012
Сообщений: 6
06.04.2012, 19:08  [ТС]     name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае. #7
Цитата Сообщение от soon Посмотреть сообщение
Tobyan, я привел аналоги. Второй вариант не требует сортировки.
А как мне затем использовать найденное значение?

Добавлено через 2 минуты
Цитата Сообщение от panicwassano Посмотреть сообщение
C++
1
2
*temps.rbegin(); // последний элемент в контейнере
std::max_element(temps.begin(), temps.end()); // максимальный элемент в контейнере
вообще товарищ я бы вам советовал почитать умную книжку или мануал
- Читаю умную книжку, страуструпа в данном случае принципы и практика программирования. Просто трабла возникла со значением. Еще не успел изучить всех особенностей, языка.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
06.04.2012, 19:09     name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае. #8
Цитата Сообщение от Tobyan Посмотреть сообщение
А как мне затем использовать найденное значение?
В смысле - как?
ЕМНИП, в топике Литература С++ есть блок STL. Советую заглянуть.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2012, 09:14     name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае.
Еще ссылки по теме:

C++ Присвоить заданным переменным максимальное из их значений в случае, если они неравны, либо ноль, если равны
C++ Условие не соблюдается. выводит if в любом случае
C++ Написать программу, которая будет обращать в ноль элемент матрицы в случае выполнения условия
Заполнить квадратную матрицу змейкой по диагонали, начиная с элемента matrix[size-1][size-1] C++
Почему в итоге выдает ноль, когда возвращаем массив из функции? C++

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

Или воспользуйтесь поиском по форуму:
Tobyan
0 / 0 / 0
Регистрация: 06.04.2012
Сообщений: 6
07.04.2012, 09:14  [ТС]     name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае. #9
спасибо, решил задачу используя name[name.size() - 2] - инструкция выводит правильное значение максимального элемента элемента.
Yandex
Объявления
07.04.2012, 09:14     name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае.
Ответ Создать тему
Опции темы

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