0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 16
1

Программа для вычисления среднего арифметического и геометрического массива чисел

04.12.2012, 21:28. Показов 4285. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Что-то написала, но программа неправильно считает
Исправьте меня, пожалуйста
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
#include<iostream>
#include<math.h>
using namespace std;
 
int main()
{ int n;
 cout<<"Input the number of values: ";
    cin>>n;
  float *mas = new float[n];
    cout<<"Input massiv: ";
 
    cin>>mas[n];
   float sum=0;
   float product=0;
   float a_mean;
   float g_mean;
        for(int i=0;i<n;++i)
      { 
          sum=sum+mas[i];
      product=product*mas[i];
        }
 
   a_mean = sum/n;
   g_mean = pow(product,1/n);
   delete[]mas;
   cout<<"A_mean: "<<a_mean<<endl;
   cout<<"G_mean: "<<g_mean<<endl;
   system("PAUSE");
   return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.12.2012, 21:28
Ответы с готовыми решениями:

Функция вычисления среднего арифметического и среднего геометрического двух чисел
Описать функцию Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое AMean = (X+Y)/2 и...

программа для вычисления среднего геометрического элементов массива array[15] удовлетворяющих условию
Вот моя программа для вычисления среднего геометрического элементов массива array удовлетворяющих...

Программа для заполнения массива ГСЧ и вычисления среднего арифметического значения в заданном диапазоне
Привет. Нужно заполнить двумерный массив MxN случайными числами в диапазоне с помощью ГСЧ, а...

Вычисление среднего арифметического и среднего геометрического двух чисел
Даны два действительных положительных числа. Записать алгоритм вычисления среднего арифметического...

14
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
04.12.2012, 21:42 2
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
#include<iostream>
#include<math.h>
using namespace std;
 
int main()
{ 
    int n;
    cout<<"Input the number of values: ";
    cin>>n;
    float *mas = new float[n];
    cout<<"Input massiv: ";
    for(int i = 0; i < n; i++) {
        cin>>mas[i];
    }
 
    float sum=0;
    float product= 1;
    float a_mean;
    float g_mean;
    
    for(int i=0;i<n;++i)
    {
        sum += mas[i];
        product *= mas[i];
    }
 
   a_mean = sum/n;
   g_mean = pow(product, 1.0f / n);
   delete[]mas;
   cout<<"A_mean: "<<a_mean<<endl;
   cout<<"G_mean: "<<g_mean<<endl;
   system("PAUSE");
   return 0;
}
1
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
04.12.2012, 21:42 3
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
#include<iostream>
#include<math.h>
using namespace std;
 
int main()
{ 
    int n;
    
    cout<<"Input the number of values: ";
    cin>>n;
    
    float *mas = new float[n];
  
    cout<<"Input massiv: ";
        for (int i=0; i<n; i++)
            cin >> mas[i];
            
    float sum=0;
    float product=1;
   
    float a_mean;
    float g_mean;
    
    for(int i=0;i<n;++i)
    { 
        sum=sum+mas[i];
        product=product*mas[i];
    }
 
    a_mean = sum/n;
    g_mean = pow(product, 1.0/n);
   
    delete[]mas;
   
    cout<<"A_mean: "<<a_mean<<endl;
    cout<<"G_mean: "<<g_mean<<endl;
   
    system("PAUSE");
    return 0;
}
0
104 / 105 / 18
Регистрация: 18.08.2012
Сообщений: 308
04.12.2012, 21:46 4
Defaillance,
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
#include<iostream>
#include<math.h>
using namespace std;
 
int main()
{ 
    int n;
    cout<<"Input the number of values: ";
    cin>>n;
    float *mas = new float[n];
    for (int i = 0; i < n; i++)
    {
            cout<<"Input massiv: ";
            cin>>mas[i];
    }
    float sum=0, product=0, a_mean, g_mean;
    for(int i=0;i<n;++i)
    { 
        sum+=mas[i];
        product*=mas[i];
    }
    a_mean = sum/n;
    g_mean = pow(product,1/n);
    delete[]mas;
    cout<<"A_mean: "<<a_mean<<endl;
    cout<<"G_mean: "<<g_mean<<endl;
    system("PAUSE");
    return 0;
}
Добавлено через 1 минуту
Что та долго я страничку не обновлял, уже ответы есть =)
0
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 16
04.12.2012, 21:55  [ТС] 5
Цитата Сообщение от .::.DIMA.::. Посмотреть сообщение
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
#include<iostream>
#include<math.h>
using namespace std;
 
int main()
{ 
    int n;
    cout<<"Input the number of values: ";
    cin>>n;
    float *mas = new float[n];
    cout<<"Input massiv: ";
    for(int i = 0; i < n; i++) {
        cin>>mas[i];
    }
 
    float sum=0;
    float product= 1;
    float a_mean;
    float g_mean;
    
    for(int i=0;i<n;++i)
    {
        sum += mas[i];
        product *= mas[i];
    }
 
   a_mean = sum/n;
   g_mean = pow(product, 1.0f / n);
   delete[]mas;
   cout<<"A_mean: "<<a_mean<<endl;
   cout<<"G_mean: "<<g_mean<<endl;
   system("PAUSE");
   return 0;
}
Спасибо огромнейшее, ваш вариант нормально работает
Но простите, что значит "1.0f"?)
0
146 / 146 / 32
Регистрация: 26.10.2008
Сообщений: 782
04.12.2012, 21:58 6
Цитата Сообщение от Defaillance Посмотреть сообщение
Спасибо огромнейшее, ваш вариант нормально работает
Но простите, что значит "1.0f"?)
Изначально 1.0 имеет тип Double. 1.0f - Float.
В качестве аналога можете использовать
C++
1
(float)1.0
1
104 / 105 / 18
Регистрация: 18.08.2012
Сообщений: 308
04.12.2012, 22:11 7
Цитата Сообщение от Defaillance Посмотреть сообщение
Спасибо огромнейшее, ваш вариант нормально работает
а у всех остальных отСтой =)
0
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 16
04.12.2012, 22:24  [ТС] 8
Цитата Сообщение от Mr.kto Посмотреть сообщение
а у всех остальных отСтой =)
Ошибки компилятор выдавал)

Добавлено через 8 минут
Цитата Сообщение от Mr.kto Посмотреть сообщение
а у всех остальных отСтой =)
А вы не знаете, как втулить этот код в функцию?
Всё тоже самое, только в функцию
Типа перед int main написать void function и как-то дальше)
0
104 / 105 / 18
Регистрация: 18.08.2012
Сообщений: 308
04.12.2012, 22:29 9
Цитата Сообщение от Defaillance Посмотреть сообщение
А вы не знаете, как втулить этот код в функцию?
Всё тоже самое, только в функцию
Типа перед int main написать void function и как-то дальше)
знаю щас напишу)
1
1 / 1 / 1
Регистрация: 04.12.2012
Сообщений: 27
04.12.2012, 22:32 10
Извините, что прерываю вас, помогите, пож-та, решить эту задачу (там используется ср. арифметич.):
Задана последовательность X = (x1, x2, …, x10).
Сформировать из неё одномерный массив Y, состоящий из элементов, удовлетворяющих условию X(i) <= A - X(5), где A - среднеарифметическое значение элементов массива X. Если таковых не окажется, вывести фразу «Искомых элементов нет». Полученный массив напечатать в строчку.
X = {0, -22.4, 5.2, -2.25, 7.92, 0.24, -0.21, 15.8, 9.1, 3.2}.
0
104 / 105 / 18
Регистрация: 18.08.2012
Сообщений: 308
04.12.2012, 22:35 11
Defaillance,
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
#include<iostream>
#include<math.h>
using namespace std;
 
void function(float *arr, int size)
{
    float sum=0, product=0, a_mean, g_mean;
    for(int i=0;i<size;++i)
    { 
        sum+=arr[i];
        product*=arr[i];
    }
    a_mean = sum/size;
    g_mean = pow(product,1/size);
    cout<<"A_mean: "<<a_mean<<endl;
    cout<<"G_mean: "<<g_mean<<endl;
}
 
int main()
{ 
    int n;
    cout<<"Input the number of values: ";
    cin>>n;
    float *mas = new float[n];
    for (int i = 0; i < n; i++)
    {
            cout<<"Input massiv: ";
            cin>>mas[i];
    }
    function(mas,n);
        delete[]mas;
    system("PAUSE");
    return 0;
}
вот так как то))
0
425 / 390 / 113
Регистрация: 21.09.2012
Сообщений: 913
04.12.2012, 22:41 12
Цитата Сообщение от Mr.kto Посмотреть сообщение
g_mean = pow(product,1/size);
Здесь неправильно. 1/size будет всегда ноль)
При делении двух целых чисел дробная часть отбрасывается
1
104 / 105 / 18
Регистрация: 18.08.2012
Сообщений: 308
04.12.2012, 22:51 13
поправочка, спасибо V.A.L.I.D
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
#include<iostream>
#include<math.h>
using namespace std;
 
void function(float *arr, int size)
{
    float sum=0, product=1, a_mean, g_mean;
    for(int i=0;i<size;++i)
    { 
        sum+=arr[i];
        product*=arr[i];
    }
    a_mean = sum/size;
    g_mean = pow(product,1.0f/size);
    cout<<"A_mean: "<<a_mean<<endl;
    cout<<"G_mean: "<<g_mean<<endl;
}
 
int main()
{ 
    int n;
    cout<<"Input the number of values: ";
    cin>>n;
    float *mas = new float[n];
    for (int i = 0; i < n; i++)
    {
            cout<<"Input massiv: ";
            cin>>mas[i];
    }
    function(mas,n);
        delete[]mas;
    system("PAUSE");
    return 0;
}
1
1 / 1 / 1
Регистрация: 04.12.2012
Сообщений: 27
04.12.2012, 23:17 14
Извините, что прерываю вас, помогите, пож-та, решить эту задачу (там используется ср. арифметич.):
Задана последовательность X = (x1, x2, …, x10).
Сформировать из неё одномерный массив Y, состоящий из элементов, удовлетворяющих условию X(i) <= A - X(5), где A - среднеарифметическое значение элементов массива X. Если таковых не окажется, вывести фразу «Искомых элементов нет». Полученный массив напечатать в строчку.
X = {0, -22.4, 5.2, -2.25, 7.92, 0.24, -0.21, 15.8, 9.1, 3.2}.
я так сделал (здесь где-то ошибка, так как после ввода 10-ого элемента приходится ещё вводить 1 элемент, и только после этого формируется новый массив):
Где тут ошибка?
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
#include <iostream.h>
#include <math.h>
int main ()
{ 
    const int n=10;
    int i,k;
    double x[n], y[n],a,sum;
    sum=0;  
    cout <<"\n Vvedite elementi massiva X\n";
    for(i=0; i<=n; i++)
        cin>>x[i];
    for(i=0; i<=n; i++)
        cout<<x[i]<<"  ";
    for(i=0; i<=n; i++)
     {
        sum = sum+x[i];
     }        
     a = sum/n;
     cout<<"\na="<<a;
     k=0;
     for (i=0; i<=n; i++) 
      if (x[i]<=a-x[5])
     { 
        y[k] = x[i]; k=k+1;
     }
    if ( k=0 ) cout<<"Ishodnih elementov net "; 
    else cout <<"Sformirovanniy massiv"; 
    for(k=0; k<=n; k++) 
    cout<<"\ny[k]="<<y[k];
    return 0;
}
0
104 / 105 / 18
Регистрация: 18.08.2012
Сообщений: 308
04.12.2012, 23:40 15
Gazovik7,
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
#include <iostream.h>
#include <math.h>
#include <conio.h>
 
int main ()
{ 
    const int n=10;
    int k=0;
    double x[n], y[n],a=0,sum=0;    
    cout <<"\n Vvedite elementi massiva X\n";
    for(int i=0; i<n; i++)
        cin>>x[i];
    for(int i=0; i<n; i++)
        cout<<x[i]<<" ";
    for(int i=0; i<n; i++)
        sum += x[i];
    a = sum/n;
    cout<<"\na="<<a;
    for (int i=0; i<n; i++) 
        if (x[i]<=a-x[5])
        { 
            y[k] = x[i]; 
            k++;
        }
    if ( k==0 ) 
        cout<<" Ishodnih elementov net "; 
    else 
        cout <<" Sformirovanniy massiv "; 
    for(int i=0;i<k;i++) 
        cout<<"\ny[k]= "<<y[i];
    getch();
    return 0;
}
результат
Программа для вычисления среднего арифметического и геометрического массива чисел
1
04.12.2012, 23:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2012, 23:40
Помогаю со студенческими работами здесь

Разработайте перегруженные функции нахождения среднего арифметического и среднего геометрического трех целых и вещественных чисел
Составьте программу для решения задачи. Выясните, что больше: среднее арифметическое или среднее...

Составить процедуру вычисления среднего арифметического и среднего геометрического А и В
Составить процедуру вычисления среднего арифметического и среднего геометрического А и В. С ее...

Нужна программа для вычисления среднего арифметического трех чисел
И что куда, собственно говоря?

Для массива найти значения среднего арифметического, геометрического, гармонического, квадратического
в общем суть задания: для массива a найти значения среднего арифметического, геометрического,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru