![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Ув.форумчане!обращаюсь к вам за помощью в решении задачи по информатике-язык программирования-Delphi7!задача состоит в следующем:В даной последовательности найти максимальную по длине последовательность так-чтоб елементы в ней были в возрастающем порядке!Заранее благодарен!
|
#2
|
||||
|
||||
![]() Берешь входной массив, проходишься по нему, на каждом шаге увеличиваешь некий счетчик C и сравниваешь каждый элемент с предыдущим. Если меньше - то если MaxC<C то MaxC:=C и MaxI:=I-1; сбрасываем C.
Код:
MaxC:=0; MaxI:=0; C:=0; for i:=2 to n do begin inc(C); if a[i]<a[i-1] then begin if MaxC<C then begin MaxC:=C; MaxI:=I-1; end; C:=1; end; end; Чтоб выковорить последовательность надо Код:
for i:=MaxI-C+1 to MaxI do ... jmp $ ; Happy End! The Cake Is A Lie. Последний раз редактировалось Bargest, 16.06.2011 в 00:23. |
#3
|
|||
|
|||
![]() Цитата:
|
#4
|
||||
|
||||
![]() Проще уже некуда. Проверку можно сделать так: после цикла смотрим, если C=n значит вся последовательность и так по возрастанию.
jmp $ ; Happy End! The Cake Is A Lie. |
#5
|
|||
|
|||
![]() Цитата:
Могу. Кто хочет - тот узнает. Преподаватель не может оринтироваться на самых бестолковых - ему просто программа не даст этого (образовательная). Соответсвенно, материал дается в темпе как минимум среднего. Далее идет самообразование - почитать пару книжек да написать пару десятков программ. Соответсвенно, и задание дается так, что бы при самостоятельной работе студент/школьник получил какие-то доп. знания. Тем более, что я в этой задаче не вижу ничего сложного. Достаточно было просто нарисовать массив на бумажке и немного подумать головой. |