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

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

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

Дан массив размера N. Найти два соседних элемента, сумма которых максимальна, и вывести эти элементы в порядке возрастания их индексов. я пробовал решить её и вот мой результат... не судите строго, я учусь ещё) это начала только, дальше я вообще не имею понятия что делать...
#include <stdio.h>
int main()
{
    int i, n,sum,max;
            int array[9999];
            max=0;
    scanf("%d",&n);
            for(i=0;i<n;i++)
            array[i]=i;
            for(i=0;i<n;i++)
    {
                sum=(array[i]+array[i+1]);
                if(sum>max)
                max=sum;
    }
            printf("%d", sum);
}

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

textual
Листинг программы
#include <stdio.h>
int main()
{
    int i, n,sum,max;
    int array[9999];
    max=0;
    scanf("%d",&n);
    for(i=0;i<n;i++)
            array[i]=i;
    for(i=0; i< n-1; i++)  // n-1 т.к. далее используется array[i+1] Пар на 1 меньше чем чисел
    {
                sum=(array[i]+array[i+1]);
                if(sum>max || i=0)  max=sum; // так точнее
    }
    printf("%d", sum);
    return 0; //  Не критично, но так положено
}

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

В этом коде:

  1. Объявлены переменные:
    • i - цикл
    • n - количество элементов в массиве
    • sum - сумма двух элементов
    • max - максимальная сумма
  2. Задается размер массива с помощью scanf(%d,&n);.
  3. В цикле for(i=0;i<n;i++) массив array[i]=i; заполняется значениями от 0 до n-1.
  4. В цикле for(i=0; i< n-1; i++) перебираются все пары элементов массива, начиная с 0-ой пары.
  5. Для каждой пары элементов array[i] и array[i+1] вычисляется их сумма sum=(array[i]+array[i+1]).
  6. Если эта сумма больше текущего максимального значения max, то обновляется max=sum. При первом проходе i=0 условие if(sum>max || i=0) будет истинным, так как sum еще не было присвоено значение, равное max.
  7. После завершения второго цикла значение max будет содержать максимальную сумму пары элементов массива.
  8. Результат выводится на экран с помощью printf(%d, sum);.
  9. Программа возвращает 0, что означает успешное выполнение.

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


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

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

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