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

Функция вычисления среднего арифметического и среднего геометрического двух чисел

29.10.2018, 19:40. Показов 15709. Ответов 10
Метки нет (Все метки)

Описать функцию Mean(X, Y, AMean, GMean), вычисляющую среднее арифметическое AMean = (X+Y)/2 и среднее геометрическое GMean = (X·Y)1/2 двух положительных чисел X и Y (X и Y — входные, AMean и GMean — выходные параметры вещественного типа). С помощью этой функции найти среднее арифметическое и среднее геометрическое для пар (A, B), (A, C), (A, D), если даны A, B, C, D. Написать два варианта функции Mean: в первом передачу параметров AMean и GMean осуществлять с помощью ссылок, во втором – с помощью указателей.

Написал программу, но не могу понять почему не правильно, помогите пожалуйста.

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 "pch.h"
#include <iostream>
#include <locale>
#include <cmath>
using namespace std;
void mean(int x, int y, double *Amean, double *Gmean)
{
    *Amean = (x + y) / 2;
    *Gmean = pow(x*y, (1 / 2));
    
}
 
int main()
{
    setlocale(LC_ALL, "rus");
    float a, b, c, d; double &Amean,&Gmean;
    cout << "Введите А= \n";
    cin >> a;
    cout << "Введите B=\n";
    cin >> b;
    cout << "Введите C=\n";
    cin >> c;
    cout << "Введите D=\n";
    cin >> d;
    mean(a, b, &Amean, &Gmean);
    cout << "Среднее арифметическое и среднее геометрическое чисел (A,B)=" << Amean << " " << Gmean << "\n";
    mean(a, c, &Amean, &Gmean);
    cout << "Среднее арифметическое и среднее геометрическое чисел (A,C)=" << Amean << " " << Gmean << "\n";
    mean(a, d, &Amean, &Gmean);
    cout << "Средне арифметическое и среднее геометрическое чисел (A,D)=" << Amean << " " << Gmean << "\n";
    return(0);
 
 
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2018, 19:40
Ответы с готовыми решениями:

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

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

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

Программа для вычисления среднего арифметического и геометрического массива чисел
Что-то написала, но программа неправильно считает Исправьте меня, пожалуйста #include&lt;iostream&gt;...

10
7167 / 6142 / 2802
Регистрация: 14.04.2014
Сообщений: 26,462
29.10.2018, 19:50 2
Константы вещественные используй.
1
Модератор
Эксперт С++
12446 / 10010 / 6025
Регистрация: 18.12.2011
Сообщений: 26,795
29.10.2018, 19:50 3
Цитата Сообщение от Abaddon159 Посмотреть сообщение
(1 / 2)
1/2 равно нулю 1.0/2.0 Равно 0.5
1
7421 / 5016 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
29.10.2018, 21:20 4
Лучший ответ Сообщение было отмечено Abaddon159 как решение

Решение

Цитата Сообщение от Abaddon159 Посмотреть сообщение
Написать два варианта функции Mean: в первом передачу параметров AMean и GMean осуществлять с помощью ссылок, во втором – с помощью указателей.
вариант 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>
#include <cmath>
using namespace std;
 
void Mean (double X, double Y, double &AMean, double &GMean)
{
     AMean=(X+Y)/2;
     GMean=pow(X*Y,1./2.);    
}
 
int main()
{
    double A, B, C, D, AMean=0, GMean=0; 
    cout <<"A="; cin >>A;
    cout <<"B="; cin >>B;
    cout <<"C="; cin >>C;
    cout <<"D="; cin >>D;
    
    cout <<"\nA="<<A<<"  B="<<B<<"\n";
    Mean(A,B,AMean,GMean);    
    cout <<"Amean="<<AMean<<"\nGMean="<<GMean<<"\n";
    cout <<"\nA="<<A<<"  C="<<C<<endl; 
    Mean(A,C,AMean,GMean);    
    cout <<"Amean="<<AMean<<"\nGMean="<<GMean<<"\n";    
    cout <<"\nA="<<A<<"  D="<<D<<endl;
    Mean(A,D,AMean,GMean);    
    cout <<"Amean="<<AMean<<"\nGMean="<<GMean<<"\n";
    
system("pause");
return 0;
}
1
1 / 1 / 0
Регистрация: 29.10.2018
Сообщений: 55
29.10.2018, 21:43  [ТС] 5
Благодарю всех за помощь, очень помогли)
0
7421 / 5016 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
29.10.2018, 23:13 6
напишите пожалуйста кто может второй вариант (передача выходных параметров с помощью указателей)
0
Модератор
Эксперт С++
12446 / 10010 / 6025
Регистрация: 18.12.2011
Сообщений: 26,795
30.10.2018, 16:47 7
Цитата Сообщение от Yetty Посмотреть сообщение
(передача выходных параметров с помощью указателей
Исходный код как раз и является вторым вариантом.
0
7421 / 5016 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
30.10.2018, 17:50 8
Цитата Сообщение от zss Посмотреть сообщение
Исходный код как раз и является вторым вариантом.
он не работает.
0
Модератор
Эксперт С++
12446 / 10010 / 6025
Регистрация: 18.12.2011
Сообщений: 26,795
30.10.2018, 17:57 9
Цитата Сообщение от Yetty Посмотреть сообщение
он не работает.
Я думаю, даже чайники после разъяснений в этой теме в силах исправить тамошние ошибки:
C++
1
2
3
4
5
6
void mean(double x,double y, double *Amean, double *Gmean)
{
    *Amean = (x + y) / 2.0;
    *Gmean = pow(x*y, 0.5);// кстати это sqrt(x*y)
    
}
0
7421 / 5016 / 2890
Регистрация: 18.12.2017
Сообщений: 15,694
30.10.2018, 18:09 10
zss, Вы наверное меня не поняли. код не работает после этих исправлений
0
Модератор
Эксперт С++
12446 / 10010 / 6025
Регистрация: 18.12.2011
Сообщений: 26,795
30.10.2018, 19:42 11
Yetty, Вы говорите какими-то загадками.
Что тут может не работать:
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>
using namespace std;
void mean(double x, double y, double *Amean, double *Gmean)
{
    *Amean = (x + y) / 2.0;
    *Gmean = pow(x*y, 0.5);// кстати это sqrt(x*y)
 
}
int main()
{
    setlocale(LC_ALL, "rus");
    double a, b, c, d, Amean, Gmean;
    cout << "Введите А= \n";
    cin >> a;
    cout << "Введите B=\n";
    cin >> b;
    cout << "Введите C=\n";
    cin >> c;
    cout << "Введите D=\n";
    cin >> d;
    mean(a, b, &Amean, &Gmean);
    cout << "Среднее арифметическое и среднее геометрическое чисел (A,B)=" << Amean << " " << Gmean << "\n";
    mean(a, c, &Amean, &Gmean);
    cout << "Среднее арифметическое и среднее геометрическое чисел (A,C)=" << Amean << " " << Gmean << "\n";
    mean(a, d, &Amean, &Gmean);
    cout << "Средне арифметическое и среднее геометрическое чисел (A,D)=" << Amean << " " << Gmean << "\n";
    system("pause");
    return(0);
 
 
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2018, 19:42
Помогаю со студенческими работами здесь

Функция вычисления среднего арифметического отрицательных элементов массива
В функции вычислить среднее арифметическое отрицательных элементов массива. Использовать функцией...

Написать программу вычисления среднего арифметического двух переменных
Кто поможет с несколькими задачками по C++?

Параметризованная функция вычисления среднего арифметического значения массива элементов
Опишите параметризованную функцию вычисления среднего арифметического значения мас- сива элементов

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


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

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

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