Определить количество и номера элементов, которые больше своих соседей - Pascal
Формулировка задачи:
Задана последовательность точек плоскости P1(x[1], y[1]); P2(x[2], y[2]); …..; Pn(x[n], y[n]).
Определить количество и номера элементов, которые больше своих соседей, т.е. x[i]>x[i-1] и x[i]>x[i+1].
Как в этот код добавить строки чтобы он считал и левого соседа? Заранее благодарю!
Const nmax=100;
Var A:array[1..nmax] of integer;
i,n,k:integer;
Begin
Repeat
write('N: ');
readln(n);
Until (n>0)and(n<=nmax);
For i:=1 to n do
Begin
A[i]:=random(31)-15;
write(A[i]:4);
End;
writeln;
write('Номера элементов которые больше правого соседа: ');
For i:=1 to n-1 do
if A[i] > A[i+1] then
Begin
write(i,' ');
inc(k);
End;
if k=0 then writeln('таких элементов нет')
else writeln;
readln;
End.Решение задачи: «Определить количество и номера элементов, которые больше своих соседей»
textual
Листинг программы
writeln('Номера элементов которые больше своих соседей: ');
For i:=2 to n-1 do
if (A[i] > A[i+1])and(A[i] > A[i-1]) then
Begin
write(i,' ');
inc(k);
End;
if k=0 then writeln('таких элементов нет');
Объяснение кода листинга программы
- Создается вывод на экран с надписью
Номера элементов которые больше своих соседей:. - Идет цикл for, где переменная 'i' проходит через значения от 2 до 'n-1'.
- Проверяется условие: если значение элемента массива 'A' по индексу 'i' больше значения элемента массива 'A' по индексу 'i+1' и больше значения элемента массива 'A' по индексу 'i-1', то:
- Выводится значение 'i' на экран с пробелом.
- Увеличивается значение счетчика 'k' на единицу.
- Если значение счетчика 'k' равно 0, то выводится на экран сообщение
таких элементов нет.