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

Первый максимальный элемент массива - C++

Восстановить пароль Регистрация
 
stels009
 Аватар для stels009
15 / 15 / 0
Регистрация: 05.04.2011
Сообщений: 401
25.05.2014, 05:04     Первый максимальный элемент массива #1
Ку всем.
Вообщем стоит задача найти ПОСЛЕДНИЙ МАКСИМАЛЬНЫЙ элемент массива, найти просто максимальный элемент массива я вроде бы смог:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        for (int i = 0; i < v.size();) //Вычисление максимального элемента и его номера.
        {
            str.clear();
            for (int j = 1; j <=10; j++)
            {
                if (i == v.size()) break;
                stels009 = Round(v[i++]);
                if(stels009 > stels921)
                {
                    core = i;
                    stels921 = stels009;
                }
            }
        }
А вот что значит найти ПОСЛЕДНИЙ МАКСИМАЛЬНЫЙ я никак не пойму.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.05.2014, 05:04     Первый максимальный элемент массива
Посмотрите здесь:

C++ поменять местами максимальный элемент массива и первый
Поменять первый максимальный и последний минимальный элемент массива C++
C++ Переставить местами первый минимальный и первый максимальный элементы массива из n вещественных чисел
C++ Все отрицательные элементы заданного массива L (11) разделить на максимальный элемент этого массива. Вывести максимальный элемент, начальный и преобра
Выполнить кольцевой сдвиг элементов массива так чтобы его первый максимальный элемент оказался на k-том месте C++
C++ Найти первый максимальный элемент массива и заменить его нулём
C++ Поменять местами максимальный элемент массива и первый
Найти первый максимальный элемент и поменять его местами с последним элементом массива C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ryuk
 Аватар для Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 869
25.05.2014, 08:32     Первый максимальный элемент массива #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
stels009, когда идет поиск, ищите не "больше", а "больше или равно".
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
25.05.2014, 09:02     Первый максимальный элемент массива #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Первый максимум можно найти двумя способами:
1 Перебирать от начала к концу, сравнивать оператором >
C++
1
2
3
4
5
6
7
for (int i = 0, int m=i; i < v.size(); ++i)
{
 if (v[i]>v[m])
 {
  m=i;
 }
}
.
2. Перебирать от конца к началу, сравнивать оператором >=:
C++
1
2
3
4
5
6
7
for (int i = v.size()-1, int m=i; i >0; --i)
{
 if (v[i]>=v[m])
 {
  m=i;
 }
}
.
Последний наоборот:
1 Перебирать от начала к концу, сравнивать оператором >=
C++
1
2
3
4
5
6
7
for (int i = 0, int m=i; i < v.size(); ++i)
{
 if (v[i]>=v[m])
 {
  m=i;
 }
}
.
2. Перебирать от конца к началу, сравнивать оператором >:
C++
1
2
3
4
5
6
7
for (int i = v.size()-1, int m=i; i >0; --i)
{
 if (v[i]>v[m])
 {
  m=i;
 }
}
.

Добавлено через 3 минуты
Если поменять сравниваемые элементы местами, или, но не и ищется минимум, то > заменяется на <, а >= заменяется на <=. В любом случае надо перебрать все элементы.
Yandex
Объявления
25.05.2014, 09:02     Первый максимальный элемент массива
Ответ Создать тему
Опции темы

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