Функция вычисляет сумму и среднее массива - C (СИ)
Формулировка задачи:
Листинг программы
- void meanSum (double a[], int n, double *sum, double *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;
Объяснение кода листинга программы
- В цикле происходит итерация по элементам массива
a
от 0 до n-1 - Переменная
sum
накапливает сумму элементов массива - Переменная
mean
вычисляет среднее значение, разделив сумму на количество элементов массива
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д