Выполнить попарное суммирование произвольного конечного ряда чисел - C (СИ)

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

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

Выполнить попарное суммирование произвольного конечного ряда чисел следующим образом. На первом этапе суммировать попарно рядом стоящие числа, на втором - результаты первого этапа аналогичным образом, и т.д., пока не останется одно число.

Решение задачи: «Выполнить попарное суммирование произвольного конечного ряда чисел»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i, j, n, *p;
    puts("Enter array's size:");
    scanf("%d", &n);
    p = malloc(n * sizeof(p));
    for(i = 0; i < n; ++i)
        printf("%d ", p[i] = rand() % 100);
    printf("\n");
    while(n > 1){
        for(i = 1, j = 0; i < n; i += 2, ++j)
            printf("%d ",p[j] = p[i] + p[i - 1]);
        n /= 2;
        printf("\n");
    }
    return 0;
}

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

В этом коде:

  1. Объявлены переменные i, j, n, p типа int.
  2. Выводится сообщение Enter array's size:, после чего программа считывает из консоли размер массива (n).
  3. Выделяется память под массив p с помощью malloc.
  4. В цикле заполняются элементы массива p случайными числами от 0 до 99 с помощью функции rand().
  5. Выводится на экран заполненный массив.
  6. Начинается цикл, который будет выполняться, пока размер массива больше 1.
  7. Внутренний цикл проходит по нечетным индексам массива (начиная с 1 и пропуская четные индексы), складывая соответствующие элементы и записывая результат в элемент с четным индексом.
  8. Размер массива уменьшается в два раза.
  9. Выводится на экран результат суммирования.
  10. Цикл повторяется до тех пор, пока размер массива больше 1.
  11. Программа возвращает 0, заканчивая свою работу.

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


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

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

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