ПОЖАЛУЙСТА ОБЪЯСНИТЕ САМО РЕШЕНИЕ.НЕ НАДО ПИСАТЬ ПРОГРАММУ. Определить есть ли в...

0 голосов
48 просмотров

ПОЖАЛУЙСТА ОБЪЯСНИТЕ САМО РЕШЕНИЕ.НЕ НАДО ПИСАТЬ ПРОГРАММУ.

Определить есть ли в массиве хотя бы одна тройка соседних чисел, в которой средний элемент больше своих "соседей", т. е. предшествующего и последующего. В случае положительного ответа определить номера элементов первой из таких троек.


Информатика (263 баллов) | 48 просмотров
Дан 1 ответ
0 голосов

в цикле от второго до предпоследнего элемента смотрятся текущий элемент и его соседи. если текущий элемент больше своих соседей, то в память записывается номер текущего элемента и цикл завершается (потавить переменную в true, а в усовии выполнения цикла потставить ещё проверку значения этой перевенной),  первый элемент тройки - то число в памяти-1, второй элемент - само число, а третий элемент - число в памяти+1. Если при завершение цикла не было найдено таких троек(та перменная равна false), то значит таких троек нет.

 

ПСЕВДОКОД

 

[n] - n-ый элемент массива(перед [ пишется название массива)(нумерация элементов начинается с нуля)

 

размер массива - N

 

массив М;

целое число (intenger) А := 0;

логическа единица(boolean) B := false;

целое число i := 1;

 

пока(i

начало

 ЕСЛИ(M[i]>M[i-1] И M[i]>M[i+1])

  начало

   A := i;

   B := true;

  конец

 i := i+1;

конец

 

ЕСЛИ (B = false) то таких троек нет

ИНАЧЕ то A-1 - превый элемент тройки, A - второй, A+1 - третий.

 

(772 баллов)