![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 12.12.2011
Сообщений: 6
|
![]()
Определить два крупнейших (хотя бы и равных) произведения A[i]*A[i-1].
У меня есть только код к условию : Определить наибольшее значение произведения A[i]*A[i-1]. Код:
Здесь нужно просто подправить програмку. А как не пойму. Заранее спасибо! ___________ Код нужно оформлять по правилам: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #) Не забывайте об этом! Модератор. Последний раз редактировалось Serge_Bliznykov; 12.12.2011 в 08:57. |
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 02.12.2011
Сообщений: 110
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 12.12.2011
Сообщений: 6
|
![]()
Я вас не понял...
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
hotkep
подобную задачу можно решить разными способами.. на поверхности я вижу следующие два способа. Способ 1). Сделать всё за один проход, но завести ещё одну переменную (например, max2) и в условии проверки/запоминания результатов учитывать, что если текущее произведение не больше, чем произведение A[max]*A[max-1], то проверять, не большее ли это произведение, чем A[max2]*A[max2-1] (при условии, что max2<>max) Способ 2) ещё проще. Первый проход. находите максимальное произведение (его индекс). Второй проход по массиву. Тот же самый поиск, только при поиске элемент i=max - ПРОПУСКАЕТЕ. Второй способ удобно реализовать в виде функции/процедуры, куда передавать индекс уже найденного ранее максимального произведения. При поиске первого максимума в качестве такого индекса можно передать заведомо несущестующий индекс (например, -1). При поиске второго - передавать индекс первого максимума. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 12.12.2011
Сообщений: 6
|
![]()
Спасибо Вам за ответ, но можете мне сам код написать с комментариями?
|
![]() |
![]() |
![]() |
#6 |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
![]()
можно еще 2 мерный массив завести в 1 строке хранить произведения во второй индексы потом отсортировать столбцы по 1 строке по убыванию и забрать первые 2 значения строки #2
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Надеюсь приведённый Вами код Вы сами писали? (ну или хотя бы понимаете, что он делает?!) тогда всё просто: Код:
p.s. свой код я не проверял, но думаю, что крупных ошибок я не допустил. Ну, если что - подправить можно. Будем считать это домашним заданием... ![]() |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
матрица размером NxM. Упорядочить ее столбцы по невозрастанию их наибольших элементов (в Delphi) | virgin_sova | Помощь студентам | 0 | 28.06.2011 22:22 |
логическая функция same(t), определяющая, есть ли в бинарном дереве T хотя бы два одинаковых элемента | 123456789igor | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 30.05.2011 00:22 |
Народ у каво есть программа Биоритмов в Delphi или хотя бы исходник для Delphi | Student_174 | Помощь студентам | 0 | 20.04.2011 12:53 |
Delphi:Определить имеется ли среди чисел a,b,c хотя бы одна пара взаимно противоположных чисел. | Skvot | Помощь студентам | 6 | 27.04.2009 11:47 |
Найти два наибольших отрицательных числа | Makarov | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 14.06.2008 17:57 |