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

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

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

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

06.04.2012, 18:39. Просмотров 521. Ответов 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()] должен выдать наибольшее значение вектора, выдает ноль в любом случае.
Посмотрите здесь:

Условие не соблюдается. выводит if в любом случае - C++
вот код. что я делаю не так? на условие не обращайте внимания, я только учусь. суть в том, что он в любом случае пишет &quot;вы ввели...

3.1 Посмотрите, вроде быстрая сортировка, в любом случае, можете переделать(лучше под с++)? - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;clocale&gt; #include &lt;stdlib.h&gt; #include &lt;math.h&gt; /* выделение памяти */ int...

Строка: Выдать сообщение об ошибке в случае отсутствия точки в строке - C++
Нужно чтобы еще выдавало ошибку, если в строке вообще нет точки. #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;conio.h&gt; #include...

Написать программу, которая будет обращать в ноль элемент матрицы в случае выполнения условия - C++
Задача: Написать программу, которая будет обращать в ноль элемент матрицы, если f(x)+ff(x)&lt;0, где f и ff - некоторые функции, выполняющие...

Как правильно вызвать конструктор вектора в данном случае? - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;map&gt; #include &lt;vector&gt; #include &lt;string&gt; using namespace std; typedef...

Функция которая ищет сумму символов строки выдает ноль - C++
Извини автор что я сюда влезла, но интерестная задачка. Я решила ее сделать, но суму 0 выдает , и я не могу понять где ошибка: ...

Почему в итоге выдает ноль, когда возвращаем массив из функции? - C++
Идея такая, есть массив (Alphabet), как ни странно отвечает за наши символы, вводимые с клавиатуры, за которые отвечает массив Source, а...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
15837 / 10164 / 1522
Регистрация: 24.12.2010
Сообщений: 19,162
06.04.2012, 18:43     name[name.size()] должен выдать наибольшее значение вектора, выдает ноль в любом случае. #2
В Си все нумеруется с нуля. Это он передал C++ по наследству. Надеюсь, элементы вектора тоже не исключение.
[size() - 1];
soon
2540 / 1305 / 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
2540 / 1305 / 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
2540 / 1305 / 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++
Поправьте меня, пожалуйста. Не могу вернуть значение массива char tags: #include &lt;windows.h&gt; #include &lt;iostream&gt; #include...

Напишите программу, которая при вводе любого символа, кроме x выдает этот же символ и номер шага, в противном случае - выходит. - C++
Нужна программа, которая при вводе любого символа, кроме x выдает этот же символ и номер шага. При вводе x программа заканчивает работу. ...

Значение логарифма при любом аргументе - C++
при значении аргумента больше 1 следует воспользоваться значением ln10. Не могу понять ошибку, программа работает без цикла if, а с ним...

Переменная в цикле не принимает значение ноль - C++
У меня есть цикл для переменной b, в который вложен цикл для переменной а: for (b = -2; b &lt; 5.01; b += 0.2){ for (a = 0; a &lt;= 5; a...


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

Или воспользуйтесь поиском по форуму:
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()] должен выдать наибольшее значение вектора, выдает ноль в любом случае.
Ответ Создать тему
Опции темы

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