Нужно дописать в коде среднее арифметическое заданого вектора
Вот само задание: Ввести вектор действительных чисел. Все элементы вектора, размещены перед его минимальным элементом, уменьшить на половину от среднего арифметического элементов введенного вектора.
Вот код,который я написал,сказали сделать это задание через среднее арифметическое чисел внутри вектора,но я не пойму как это сделать:
#define N 100
int main()
{
int n;
printf("enter the amount of elements of your vector: ");
scanf_s("%d", &n);
double vect[N];
printf("enter your vector: ");
for (int i = 0; i < n; ++i)
{
scanf_s("%lf", vect + i);
}
int min = vect[0], nmin = 0;
for (int i = 0; i < n; ++i)
{
if (min > vect[i])
{
min = vect[i];
nmin = i;
}
}
printf("min=%d, nmin=%d\n", min, nmin + 1);
for (int i = nmin + 1; i < n; ++i)
{
vect[i] = vect[i] / 2; //вот тут я поделил на 2,а нужно среднее арифметическое введенных цифр
}
for (int i = 0; i < n; ++i)
{
printf("%.2lf ", vect[i]);
}
return 0;
} ```
Буду благодарен за помощь!
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
double vect[N], avg = 0;
printf("enter your vector: ");
for (int i = 0; i < n; ++i)
{
scanf_s("%lf", vect + i);
avg += vect[i];
}
avg /= n;
int min = vect[0], nmin = 0;
....
vect[i] = vect[i] / (avg/2);