Функция вычисляет сумму и среднее массива - C (СИ)

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

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

void meanSum (double a[], int n, double *sum, double *mean);
Функция вычисляет сумму и среднее массива a из n элементов и записывает результаты по указателям sum и mean соответственно.
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>   

void inputError () {    
printf("Ошибка ввода\n");
exit(EXIT_FAILURE);
}
int readInt () {
int a;
if (scanf("%d", &a) != 1) 
inputError();   
return a;
}
double readDouble() {
double a;
if (scanf("%lg", &a) != 1) 
inputError();
return a;
}
void readArray (double *array, int n) {
printf("Введите %d чисел через пробел:\n", n);
for (int i = 0; i < n; i++) {
array[i] = readDouble();
}
}
void printArray (double *array, int n, char *str) {
printf("%s{", str);
if (n > 0) {
printf("%lg", array[0]);
}   
for (int i = 1; i < n; i++) {       
printf(", %lg", array[i]);
}
printf("}\n");
}
int min (int a, int b) {
if (b < a) return b;
return a;
}
void sumMean (double a[], int n, double *sum, double *mean) {   
if (n <= 0) ;
 
for (int i = 0; i < n; i++) {
*sum += a[i];
*mean = *sum / n;
}
}
int main () {
printf("Введите длину массива: ");
int n = readInt();  
if (n < 0) inputError();
double array[n], sum, mean;
readArray(array, n);
sumMean(array, n, &sum, &mean);
printf("Sum:%lg\nMean:%lg\n",sum,mean);
}
Как исправить эту ошибку?

Решение задачи: «Функция вычисляет сумму и среднее массива»

textual
Листинг программы
for (int i = 0; i < n; i++) {
    *sum += a[i];
}
*mean = *sum / n;

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

  1. В цикле происходит итерация по элементам массива a от 0 до n-1
  2. Переменная sum накапливает сумму элементов массива
  3. Переменная mean вычисляет среднее значение, разделив сумму на количество элементов массива

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


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

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

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