Вопрос по информатике:
На Pascal
Дан линейный массив из N целых чисел (N=10). Найти и вы-
вести самую длинную неубывающую подпоследовательность подряд идущих
элементов массива и ее длину. Если таковых несколько, то вывести одну из
них. Пример: исходный массив 1 2 3 2 3 3 4 3 4 5, ответ 2 3 3 4, длина = 4.
- 17.06.2018 07:14
- Информатика
- remove_red_eye 9232
- thumb_up 46
Ответы и объяснения 1
var
k,l,m,i,j: integer;
var a: array[1..n] of integer;
begin
k:=0; m:=0; j:=0; l:=0;
for i:=1 to n do begin
a[i]:=random(10);
write (a[i]:3);
if (i>1) and (a[i]>=a[i-1])
then begin k:=k+1; j:=i; end
else
if (k>0) and (k>l)
then begin l:=k; m:=j; k:=0 end
else k:=0;
end;
if (k>0) and (k>l)
then begin l:=k; m:=n end;
writeln;
writeln;
for i:=m-l to m do
write (a[i]:3);
l:=l+1;
writeln;
writeln ('Длина = ',l)
end.
-----------результат:-------------
9 2 5 0 8 5 7 7 3 7
5 7 7
Длина = 3
--------------------------------------
* рандомный ввод массива можно заменить обычным с клавиатуры
- 18.06.2018 08:30
- thumb_up 42
Знаете ответ? Поделитесь им!
Есть сомнения?
Не нашли подходящего ответа на вопрос или ответ отсутствует? Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие вопросы в разделе Информатика.
Трудности с домашними заданиями? Не стесняйтесь попросить о помощи - смело задавайте вопросы!
Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.