iamakulov icon

Untitled

iamakulov | PRO | 11/06/13 07:02:40 PM UTC | 0 ⭐ | 417 👁️ | Never ⏰ | []
C++ |

1.83 KB

|

None

|

0 👍

/

0 👎

//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