Дана последовательность различных натуральных чисел, за которой следует 0. Определить, сколько подпоследовательностей (вместе и возрастающих и убывающих) содержит эта последовательность — Pascal(Паскаль)

Pascal(Паскаль)

uses crt;
var a,b,c,k,i:word;
begin
clrscr;
writeln('Введите не менее трех натуральных чисел, окончание ввода 0:');
k:=1;i:=0;
readln(a);
repeat
readln(b);
until b<>a;{поскольку не ясно из условия что делать если соседние числа равны,
 будем вводить так чтобы они были разными}
i:=2;
repeat
 repeat
  readln(c);
 until c<>b;
i:=i+1;
if ((b>a)and(b>c))or((b<a)and(b<c))then k:=k+1;
{если получился максимум или минимум, конец подпоследовательности}
a:=b;
b:=c;
until (c=0)and(i>2);
write('Всего подпоследовательностей=',k);
readln
end.

Leave a Comment

44 + = 47