Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
Defaillance
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 16
#1

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

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

Что-то написала, но программа неправильно считает
Исправьте меня, пожалуйста
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2012, 21:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Программа для вычисления среднего арифметического и геометрического массива чисел (C++):

программа для вычисления среднего геометрического элементов массива array[15] удовлетворяющих условию - C++
Вот моя программа для вычисления среднего геометрического элементов массива array удовлетворяющих условию 5&lt;=array&lt;=15. Вроде всё нормально...

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

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

Нахождение среднего арифметического и геометрического двух чисел - C++
Здравствуйте! Написал программу для нахождения среднего арифметического и геометрического двух чисел #include &lt;stdio.h&gt; #include...

Напишите программу, которая использует функцию для вычисления среднего геометрического трех чисел типа int, что вводит пользователь. - C++
Напишите программу, которая использует функцию для вычисления среднего геометрического трех чисел типа int, что вводит пользователь. Язык...

Напишите программу в С для вычисления среднего арифметического для 3 чисел - C++
Имею код, но он не работает. Что делать!? Помогите! int main() { float x,y,z,p; printf(&quot;Write down x,y,z:&quot;); ...

14
.::.DIMA.::.
143 / 143 / 4
Регистрация: 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
v.a.l.i.d
413 / 378 / 10
Регистрация: 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
Mr.kto
95 / 94 / 1
Регистрация: 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
Defaillance
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
.::.DIMA.::.
143 / 143 / 4
Регистрация: 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
Mr.kto
95 / 94 / 1
Регистрация: 18.08.2012
Сообщений: 308
04.12.2012, 22:11 #7
Цитата Сообщение от Defaillance Посмотреть сообщение
Спасибо огромнейшее, ваш вариант нормально работает
а у всех остальных отСтой =)
0
Defaillance
0 / 0 / 0
Регистрация: 23.09.2012
Сообщений: 16
04.12.2012, 22:24  [ТС] #8
Цитата Сообщение от Mr.kto Посмотреть сообщение
а у всех остальных отСтой =)
Ошибки компилятор выдавал)

Добавлено через 8 минут
Цитата Сообщение от Mr.kto Посмотреть сообщение
а у всех остальных отСтой =)
А вы не знаете, как втулить этот код в функцию?
Всё тоже самое, только в функцию
Типа перед int main написать void function и как-то дальше)
0
Mr.kto
95 / 94 / 1
Регистрация: 18.08.2012
Сообщений: 308
04.12.2012, 22:29 #9
Цитата Сообщение от Defaillance Посмотреть сообщение
А вы не знаете, как втулить этот код в функцию?
Всё тоже самое, только в функцию
Типа перед int main написать void function и как-то дальше)
знаю щас напишу)
1
Gazovik7
1 / 1 / 0
Регистрация: 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
Mr.kto
95 / 94 / 1
Регистрация: 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
v.a.l.i.d
413 / 378 / 10
Регистрация: 21.09.2012
Сообщений: 913
04.12.2012, 22:41 #12
Цитата Сообщение от Mr.kto Посмотреть сообщение
g_mean = pow(product,1/size);
Здесь неправильно. 1/size будет всегда ноль)
При делении двух целых чисел дробная часть отбрасывается
1
Mr.kto
95 / 94 / 1
Регистрация: 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
Gazovik7
1 / 1 / 0
Регистрация: 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
Mr.kto
95 / 94 / 1
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2012, 23:40
Привет! Вот еще темы с ответами:

Составить алгоритм и программу для вычисления среднего геометрического значения - C++
Составить алгоритм и программу для вычисления среднего геометрического значения элементов заданного массива В(15), что удовлетворяют ...

Составьте программу вычисления среднего арифметического целых чисел из отрезка [-4; 15] - C++
Составьте программу вычисления среднего арифметического целых чисел из отрезка .

Составьте программу вычисления среднего арифметического целых чисел из отрезка [-6; 33] - C++
Составьте программу вычисления среднего арифметического целых чисел из отрезка

вычисление среднего геометрического для целочисленного массива - C++
Условие задачи: Написать программу вычисления среднего геометрического для целочисленного массива А. Ниже описание программы...


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

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

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