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

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

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

Даны действительные числа A[1],A[2],A[3],...,A[n]. Найти сумму чисел этой последовательности, расположенных между максимальным и минимальным числами (в сумму включить и оба этих числа).

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

textual
Листинг программы
void squeezeArr(int A[], int n)
{
    int min = A[0];
    int max = A[0];
    int m, M, sum;
 
    for (int i = 0; i < n; i++)
    {
        if (min > A[i])
        {
            min = A[i];
            m = i;
        }
        if(max < A[i])
        {
            max = A[i];
            M = i;
        }
    }
 
    min = m < M ? m : M;
    max = m > M ? m : M;
 
    for (int min; min <= max; min++)
    {
        sum += A[min];
    }
}

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

  1. Входные данные: массив A и его размер n.
  2. Создаются четыре переменные: min, max, m и M.
  3. Изначально min и max присваиваются первому элементу массива A[0].
  4. Переменная m и M не инициализируются, так как они используются для хранения индексов минимального и максимального элементов, их инициализация будет произведена позже.
  5. Происходит проход по всем элементам массива от начала до конца.
  6. Если текущий элемент меньше min, то обновляется значение min, а также индекс m, который будет хранить индекс минимального элемента.
  7. Если текущий элемент больше max, то обновляется значение max, а также индекс M, который будет хранить индекс максимального элемента.
  8. После прохода по всем элементам массива, значения min и max будут содержать индексы минимального и максимального элементов соответственно.
  9. Значение переменной min сравнивается с M, если min меньше M, то значение переменной M присваивается значение переменной min, иначе значение переменной min присваивается значение переменной M.
  10. Значение переменной max сравнивается с m, если max меньше m, то значение переменной m присваивается значение переменной max, иначе значение переменной max присваивается значение переменной m.
  11. Происходит проход по всем элементам массива от min до max включительно.
  12. К сумме sum прибавляется значение каждого элемента массива A[min].
  13. Возвращаемое значение функции - сумма чисел последовательности, расположенных между максимальным и минимальным числами.

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


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

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

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