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

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

Войти
Регистрация
Восстановить пароль
 
stels009
15 / 15 / 0
Регистрация: 05.04.2011
Сообщений: 402
#1

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

25.05.2014, 05:04. Просмотров 181. Ответов 2
Метки нет (Все метки)

Ку всем.
Вообщем стоит задача найти ПОСЛЕДНИЙ МАКСИМАЛЬНЫЙ элемент массива, найти просто максимальный элемент массива я вроде бы смог:
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++
Смог поменять максимальный элемент массива на первый, но первый на максимальный не меняется. В чем ошибка? #include &lt;iostream.h&gt; ...

Поменять первый максимальный и последний минимальный элемент массива - C++
Посмотрите, пожалуйста, где тут ошибка #include &lt;iostream&gt; using namespace std; int findMax(int *A, unsigned int size) //...

Выполнить кольцевой сдвиг элементов массива так чтобы его первый максимальный элемент оказался на k-том месте - C++
Дан одномерный массив размерность n и число k. Если в исходном массиве чисел больше, чем k, то в массиве выполнить кольцевой сдвиг...

Найти его первый максимальный элемент - C++
Дан массив действительных чисел. Среди них есть равные. Найти его первый максимальный элемент и заменить его 0.

Переместить первый и максимальный элемент строки - C++
Дана матрица E(n,m), где n,m≤40. Разработайте программу, находящую номера всех максимальных элементов в каждой строке. Переместить...

максимальный первый элемент в строке матрицы - C++
Дан двумерный массив, размерностью MxN. Найти сумму и количество тех строк, первый элемент которых максимален; int max=mas; for (int...

Поменять местами первый элемент левого поддерева и максимальный элемент правого поддерева - C++
Здравствуйте! Помогите, пожалуйста, с заданием по деревьям. Условие: поменять места первый элемент левого поддерева и максимальный...

Обнулить первый максимальный элемент в указанном столбце матрицы - C++
Дан двумерный массив N*N элементов. Обнулите первый максимальный элемент в указанном столбце.

В последовательности из n действительных чисел поменять местами максимальный элемент и первый - C++
В динамическом одномерном и двухмерном массиве. Дана последовательность из n действительных чисел нужно поменять местами максимальный...

Поменять местами максимальный элемент и первый, используя одномерный массив - C++
Здравствуйте, искал на форуме нашел частичные данные, которые не могу даже нормально соединить, помогите &quot;поменять местами максимальный...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ryuk
179 / 177 / 33
Регистрация: 10.06.2011
Сообщений: 871
25.05.2014, 08:32     Первый максимальный элемент массива #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
stels009, когда идет поиск, ищите не "больше", а "больше или равно".
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 минуты
Если поменять сравниваемые элементы местами, или, но не и ищется минимум, то > заменяется на <, а >= заменяется на <=. В любом случае надо перебрать все элементы.
Ответ Создать тему
Опции темы

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