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

#include <iostream>
using namespace std;

void stats(double* a, int size, double* min, double*max, double* avg)
{
    max = 0;
    min = 0;
    double count = 0;
    double sum = 0;
    int i;
    avg = 0;

    for (i = 0; i < size; i++)
    {
        count++;
        sum += i;

        if (a[i] > max)
        {
            max = a[i];
        }

        else if (a[i] < min)
        {
            min = a[i];
        }
    }
    avg = sum / count;
}

int main()
{
    double a[] = { 10.0,0.0,20.0,30.0 };
    double min, max, avg;

    stats(a, 4, &min, &max, &avg);
    cout << "min = " << min << "\n";
    cout << "max = " << max << "\n";
    cout << "avg = " << avg << "\n";
    return 0;
}

Выдает ошибку: значение типа "double" нельзя присвоить сущности типа "*double", а также несовместимые типы операндов. Как исправить?


Ответы (1 шт):

Автор решения: Harry

Посмотрите и подумайте, что именно я изменил и почему:

void stats(double* a, int size, double* min, double*max, double* avg)
{
    double sum = 0;
    *avg = 0;
    *max = a[0];
    *min = a[0];

    for(int i = 0; i < size; i++)
    {
        sum += a[i];
        if (a[i] > *max) *max = a[i];
        else if (a[i] < *min) *min = a[i];
    }
    *avg = sum / size;
}
→ Ссылка