//2.Определить среднее геометрическое элементов массива, а затем определить элемент,
//который в наименьшей степени отличается от среднего геометрического и по значению не превосходит его.
#include<stdio.h>
#include<math.h>
int main()
{
int i,n,imin;
double x[20], pr, min;
//Подключение кирилицы в консольном окне
//SetFont()
//Для вывода русского наводим курсор на заголовок консольного окна,
//правой кнопкой мыши вызываем меню - свойства - установить шрифт Lucida Concole
printf("\t Введите размер массива <=20\n");
scanf("%d",&n);
printf("\t Введите элементы массива \n");
for(i=0; i<n;i++)
scanf("%lf",&x[i]);
printf("Исходный массив х размером %d\n",n);
for(i=0; i<n;i++)
printf("%8.2lf",x[i]);
pr=1;
for(i=0; i<n;i++)
pr=pr*x[i];
pr=pow(fabs(pr),1./n);
printf("\nСреднее геометрическое = %8.2lf\n",pr);
imin = -1;
min = 0;
for (i = 0; i < n; ++i) {
if (x[i] < pr) {
imin = i;
min = fabs(x[i] - pr);
}
if (imin != -1 &&
fabs(x[i] - pr) < min &&
x[i] < pr) {
imin = i;
min = fabs(x[i] - pr);
}
}
printf("\nЭлемент массива х[%d]=%lf отличается в наименьшей степени\
\n от среднего геометрического на величину = %8.2lf и меньше среднего\n",imin,x[imin],min);
printf("\nДля завершения программы нажмите любую клавишу\n");
return 0;
}
Comments