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

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

Восстановить пароль Регистрация
 
Tobyan
0 / 0 / 0
Регистрация: 06.04.2012
Сообщений: 6
06.04.2012, 18:39     name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае. #1
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()] должен выдать наибольшее значение вектора, выдает ноль в любом случае.
Посмотрите здесь:

Переменной k логического типа присвоить значение true в том случае, если массив n целых чисел упорядочен по возрастанию, i значение false если нет C++
C++ Переменной R присвоить значение 1, если длина вектора А больше длины вектора В, и значение 0 в противном случае
C++ Строка: Выдать сообщение об ошибке в случае отсутствия точки в строке
C++ 3.1 Посмотрите, вроде быстрая сортировка, в любом случае, можете переделать(лучше под с++)?
C++ Напишите программу, которая при вводе любого символа, кроме x выдает этот же символ и номер шага, в противном случае - выходит.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
13941 / 8772 / 1220
Регистрация: 24.12.2010
Сообщений: 15,872
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
590 / 558 / 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++ Не получается вернуть значение массива char tags[SIZE]
Значение логарифма при любом аргументе 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()] должен выдать наибольшее значение вектора, выдает ноль в любом случае.
Ответ Создать тему
Опции темы

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