Більші своїх сусідів#7845

Більші своїх сусідів (Розбір)

Аналіз алгоритму

Нехай масив містить вхідну послідовність чисел. Нумерація елементів масиву починається з 0. Масив містить чисел. Елемент має двох сусідів, якщо тільки 1 \leq i \leq n – 1.

Для підрахунку кількості елементів, які більші за своїх двох сусідів, слід перебрати всі такі , що 1 \leq i \leq n – 1, і перевірити виконання двох умов: m[i - 1] < m[i] і m[i] > m[i + 1].

Реалізація алгоритму

Оголошуємо робочий масив.

int m[101];

Читаємо кількість вхідних чисел .

scanf("%d", &n);

Читаємо вхідний масив.

for (i = 0; i < n; i++)
    scanf("%d", &m[i]);

У змінній res підраховуємо кількість елементів, які більші за своїх двох сусідів.

res = 0;

Перебираємо всі такі що 1 \leq i \leq n – 1 і перевіряємо виконання двох умов: m[i - 1] < m[i] і m[i] > m[i + 1].

for (i = 1; i < n - 1; i++)
    if (m[i] > m[i - 1] && m[i] > m[i + 1]) res++;

Виводимо відповідь.

printf("%d\n", res);