Определить количество и номера элементов, которые больше своих соседей - 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, то выводится на экран сообщение
таких элементов нет
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д