Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Антон22114
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 24
1

Для массива найти значения среднего арифметического, геометрического, гармонического, квадратического

24.11.2012, 12:48. Просмотров 848. Ответов 3
Метки нет (Все метки)

в общем суть задания: для массива a[100] найти значения среднего арифметического, геометрического, гармонического, квадратического. Проблума заключатеся только в среднем геометрическом s3, при выполнении программа всегда выдает 0. Пишу в code::bloks.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <stdio.h>
#include <math.h>
#include <locale.h>
int main () {
    setlocale(LC_CTYPE, "Russian");
    float s1=0,s2=0,s3=0,s4=0;
    int b=0,k=0,y=0;
    float a[100];
    printf ("введите b=");
    scanf("%d",&b);
    for(int i=0;i<b;i++)
    {
        printf("введите элемент номер%d\t", i+1);
        scanf("\n%f",&a[i]);
    }
    for(int i=0;i<b;i++)
    {
        s1+=a[i];
        s2+=a[i]*a[i];
        s3*=a[i];
        if(a[i]!=0)
            s4+=1./a[i];
        else
            y=1;
    }
    s1/=b;
    s2=sqrt(s2/b);
    if(s3>=0||b%2)
    {
                if(s3>=0)
                    s3=exp(1./b*log(fabs(s3)));
                else
                    s3=-exp(1./b*log(fabs(s3)));
    }
    else s3=-1;
 
    if(s4!=0)
            s4=b/s4;
    for(int i=0;i<b;i++)
{
    if(a[i]>s1) k++;
}
    printf("среднее арифметическое %f\n",s1);
    if(s3!=-1)
        printf("среднее геометрическое %f\n",s3);
    else
        printf("среднее геометрическое принадлежит пустому множеству\n");
    if(s4!=0&&y==0)
        printf("среднее гармоническое %f\n",s4);
    if(s4==0&&y==0)
        printf("среднее гармоническое принадлежит пустому множеству\n");
    if(y==1)
        printf("среднее гармоническое 0\n");
 
    printf("среднее кв. %f\n",s2);
    printf("сумма элементов %d\n",k);
 
    return 0;
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2012, 12:48
Ответы с готовыми решениями:

Определение среднего гиперболического, геометрического и арифметического значения
Доброго времени суток! У меня возникла небольшая проблема: в задании сказано найти среднее...

Определение среднего геометрического и среднего арифметического
Даны три числа a, b и c. Составить алгоритм, определяющий среднее геометрическое этих чисел, если...

Программа выдает одни нули при вычислении среднего арифметического и геометрического
Привет всем! Я только около недели, как начал изучать Си по самоучителю... Задание: создать...

Найти 2 элемента, которые в наименьшей и в наибольшей степени отличаются от среднего арифметического значения элементов
Есть задание:&quot;В матрице найти 2 элемента, которые в наименьшей и в наибольшей степени отличаются от...

Найти наиболее и наименее удаленный от среднего арифметического элемент массива
вывести информацию о наиболее и наименее удаленных от среднего арифметического члена...

3
castaway
Эксперт С++
4953 / 3059 / 456
Регистрация: 10.11.2010
Сообщений: 11,151
Записей в блоге: 10
Завершенные тесты: 1
24.11.2012, 13:26 2
Конечно будет ноль, ты же всегда умножаешь на него: s3*=a[i];
Инициализируй s3 единицей.
1
Антон22114
0 / 0 / 0
Регистрация: 24.11.2012
Сообщений: 24
24.11.2012, 13:37  [ТС] 3
Конечно будет ноль, ты же всегда умножаешь на него: s3*=a[i];
Инициализируй s3 единицей.
Спасибо за помощь, буду знать.
0
Байт
Эксперт C
22491 / 14204 / 2990
Регистрация: 24.12.2010
Сообщений: 30,267
24.11.2012, 16:07 4
Антон22114, Мультипликативная 1 соответствуют аддитивному нулю, а деление на n соответствует извлечению корня n-ой степени
1
24.11.2012, 16:07
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2012, 16:07

Написать простую программу на С для поиска среднего арифметического массива
Задача: Дано двумерный массив целых чисел. Необходимо найти среднее арифметическое непарных...

Массив: вывести сумму элементов массива, значение которых больше среднего арифметического значения элементов
дан массив на 30 элементов. написать программу которая позволяет найти и вывести сумму элементов...

Все элементы массива, значения которых на 50% меньше среднего или на 50% больше среднего значения, заменить нулем
Вычислить среднее значение элементов массива. Вывести на дисплей полученное значение. После этого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.