Написать функцию, которая вычисляет минимальное, максимальное и среднее значение элементов массива
#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;
}