Найти число локальных максимумов во введённом массиве. - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Вводится количество элементов массива. Вводится массив. В этом массиве находится количество локальных максимумов(крайние точки не считать). Это количество выводится на экран. Помогите с этой программой! Язык Си.
#include <stdio.h>
#include <conio.h>
int main()
{
    int *rt;
    int i, x;
    printf ("vvedite chislo elementov: ");
    scanf ("%d", &x);
    rt=new int [x];
    printf ("\nvvedite massiv iz %d elementov: ", x);
    for (i=0;i<x;i++)
        scanf ("%d", &rt[i]);
    for (i=0;i<x;i++)
    {
        if(...)
 
        ...
    }
    delete rt;
    getch();
    return 0;
}

Решение задачи: «Найти число локальных максимумов во введённом массиве.»

textual
Листинг программы
#include <stdio.h>
#include <conio.h>
int main()
{
        int *rt;
        int i, x, g=0;
        printf ("vvedite chislo elementov: ");
        scanf ("%d", &x);
        rt=new int [x];
        printf ("\nvvedite massiv iz %d elementov: ", x);
        for (i=0;i<x;i++)
                scanf ("%d", &rt[i]);
        for (i=1;i<x-1;i++)
        {
                if(rt[i]>rt[i+1]&& rt[i]>rt[i-1])
                        g++;
        }
        printf ("\nvo vvedennom massive <%d> lokalnix maksimumov", g);
        delete [] rt;
        getch();
        return 0;
}

Объяснение кода листинга программы

В этом коде:

  1. Сначала пользователю предлагается ввести количество элементов массива, которые будут вводиться далее.
  2. Затем происходит выделение памяти под массив заданного размера с помощью оператора new.
  3. Далее пользователю предлагается ввести элементы массива, которые сохраняются в массиве rt.
  4. Затем происходит поиск локальных максимумов в массиве. Для этого используется два вложенных цикла. Внешний цикл выполняется для всех элементов массива, кроме первого и последнего (чтобы избежать выхода за границы массива). Внутренний цикл проверяет, является ли текущий элемент локальным максимумом (больше предыдущего и следующего). Если это так, то счетчик локальных максимумов g увеличивается на единицу.
  5. Наконец, выводится количество найденных локальных максимумов. После этого освобождается память, выделенная под массив, с помощью оператора delete.
  6. Запускается функция getch(), которая ожидает нажатия клавиши, чтобы пользователь мог увидеть результат.
  7. Функция main() возвращает 0, что означает успешный конец работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5
Похожие ответы