Помощь - Поиск - Пользователи - Календарь
Полная версия: Однопроходные алгоритмы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
wero4ka1991
помогите составить программу, используя однопроходные алгоритмы. требуется найти второй по величине элемент последовательности.
sheka
max[0] := a[0];
max[1] := a[1];
ищи в цикле макс элемент
при нахождении такового:
max[1] := max[0];
max[0] := a[i];
Lapp
Цитата(sheka @ 5.12.2011 2:10) *

max[0] := a[0];
max[1] := a[1];
ищи в цикле макс элемент
при нахождении такового:
max[1] := max[0];
max[0] := a[i];


Боюсь, Шека, это не прокатит.. Рассмотри вот такую последовательность, например:

3 0 1 1 1
sheka
Да, протупил. Тогда как-то так
max[0] := a[word(a[0] < a[1])];
max[1] := a[word(a[0] > a[1])];
for i := 2 to n-1 do
if a[i] > max[1] then
if a[i] > max[0] then
begin
max[1] := max[0];
max[0] := a[i];
else
max[1] := a[i];

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.