selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
|
||||||
#1 | ||||||
Наибольшее отрицательное значение в массиве - C++08.06.2010, 11:18. Просмотров 1775. Ответов 23
Метки нет Все метки)
(
Всем доброго времени суток. У меня тут возникла небольшая загвоздка, нужно в массиве найти первый максимальный элемент среди отрицательных элементов, стоящих правее элемента, равного Т.
Вот код, но он работает немного некорректно.
1
|
|
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
|
08.06.2010, 11:18 |
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Наибольшее отрицательное значение в массиве (C++):
23
Наибольшее значение в массиве - C++ Найти наибольшее значение курса доллара в массиве - C++ Как в динамическом массиве найти наибольшее значение? - C++ Определить есть ли в массиве строка c двумя элементами, имеющими наибольшее значение - C++ Найти, какое значение встречается в данном массиве наибольшее число раз - C++
|
neske
1519 / 886 / 89
Регистрация: 26.03.2010
Сообщений: 3,032
|
|
08.06.2010, 19:16 | #16 |
CyBOSSeR, прошу прощения за такие вопросы, но все же:
Пытаюсь разобраться, почему работает ваш вариант с функцией neg_el, но т.к. я в теории слабоват, до финиша еще не дошел (; В общем, как работает сам алгоритм поиска максимального элемента? В функцию передается два аргумента (случайных, по порядку?), и если функция возвращает true, он запоминает максимальный из этих двух, и т.д. по аналогии. Это я так думаю. Книги я читал, но вот этого, как я помню, не было.
0
|
selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
|
|
08.06.2010, 20:56 [ТС] | #17 |
0
|
CyBOSSeR
![]() 2307 / 1680 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
08.06.2010, 21:43 | #18 |
По порядку. В качестве первого аргумента в функцию сравнения передается текущий максимальный элемент (в самом начале за максимальный берется первый), в качестве второго аргумента текущий элемент. Если функция возвращает true максимальному элементу присваивается значение текущего элемента.
1
|
neske
1519 / 886 / 89
Регистрация: 26.03.2010
Сообщений: 3,032
|
|
08.06.2010, 22:03 | #19 |
CyBOSSeR, огромное спасибо.
0
|
easybudda
Модератор
![]() ![]() 9958 / 5881 / 993
Регистрация: 25.07.2009
Сообщений: 11,119
|
|
08.06.2010, 23:04 | #20 |
1
|
selevit
79 / 75 / 3
Регистрация: 08.10.2008
Сообщений: 296
|
|
09.06.2010, 00:34 [ТС] | #21 |
0
|
easybudda
Модератор
![]() ![]() 9958 / 5881 / 993
Регистрация: 25.07.2009
Сообщений: 11,119
|
|
09.06.2010, 01:04 | #22 |
ну вот только-что мелкомяглим cl от MSVS 2005 скомпилил
2010 качать/ставить ради того, чтобы эту програмку проверить, не буду! ![]()
0
|
CyBOSSeR
![]() 2307 / 1680 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
09.06.2010, 10:44 | #23 |
Работать-то работает, но если в массиве не будет ни одного отрицательного числа, max_element вернет указатель на первый элемент массива, что не есть хорошо.
0
|
easybudda
Модератор
![]() ![]() 9958 / 5881 / 993
Регистрация: 25.07.2009
Сообщений: 11,119
|
|
09.06.2010, 10:47 | #24 |
Ну это да... Но решается добавлением костыля - проверять возвращаемое значение, если не отрицательное - писать, что нет отрицательных значений...
0
|
09.06.2010, 10:47 | |
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
|
09.06.2010, 10:47 |
Привет! Вот еще темы с ответами:
24
Дан массив из N целых чисел. Выяснить имеется ли в массиве хотя бы одно нечетное отрицательное число и определить его местонахождение в массиве - C++ Двоичный файл. Написать функцию, которая возвращает наибольшее отрицательное число - C++ В массиве заменить отрицательное на положительное число и наоборот - C++ Найти первое отрицательное число в массиве, заменить его на ноль - C++ Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |