Функция: присвоить N-му элементу сумму первых N элементов массива - C (СИ)

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

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

Составить функцию, которая в заданном вещественном массиве с заданным числом элементов присваивает второму элементу сумму первых двух элементов, третьему - сумму первых трех элементов итд, последнему элементу - сумму всех элементов массива.

Решение задачи: «Функция: присвоить N-му элементу сумму первых N элементов массива»

textual
Листинг программы
int main() {
 
    //double a[7] = { 1, 2, 3, 4, 5, 6, 7 };
    int i, j, old;
    int size;
    double sum = 0;
    printf("Enter the size of an array:");
    scanf("%d", &size);
 
    double *a = malloc(size * sizeof(double));
 
    for (i = 0; i < size; i++) {
        printf("a[%d]: ",i);
        scanf("%lf", &a[i]);
    }
 
    for (i = 0; i < size; i++) {
        old = a[i];
        sum += a[i];
        a[i] = sum;
        sum -= old;
        sum += a[i];
    }
 
    for (i = 0; i < size; i++) {
        printf("%3.1f ", a[i]);
    }
 
    return 0;
}

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

В этом коде пользователь сначала вводит размер массива. Затем программа выделяет память под массив заданного размера. После этого пользователь по одному вводит все элементы массива. Затем программа суммирует все элементы и заменяет каждый элемент этой суммой. В конце программа выводит все элементы массива.

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

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