Функция: присвоить 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;
}
Объяснение кода листинга программы
В этом коде пользователь сначала вводит размер массива. Затем программа выделяет память под массив заданного размера. После этого пользователь по одному вводит все элементы массива. Затем программа суммирует все элементы и заменяет каждый элемент этой суммой. В конце программа выводит все элементы массива.