Форум программистов, компьютерный форум CyberForum.ru

Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
12.05.2012, 19:46     Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел #1
Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое AMean = (X + Y)/2 двух положительных чисел X и Y (X и Y — входные, AMean и GMean — выходные параметры вещественного типа). С помощью этой процедуры найти среднее арифметическое и среднее геометрическое для пар (A, B), (A, C), (A, D), если даны A, B, C, D.
Код на Паскале:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure Mean(x,y:real; var AMean,GMean:real);
begin
AMean:=(x+y)/2;
GMean:=sqrt(x * y);
end; 
var a,b,c,d,am,gm:real;
begin
write('Введите A: '); readln(a);
write('Введите B: '); readln(b);
write('Введите C: '); readln(c);
write('Введите D: '); readln(d);
mean(a,b,am,gm);
writeln('Для пары (A,B) cp.apифм. =',am:0:6,' cp.гeoм. = ',gm:0:6);
mean(a,c,am,gm);
writeln('Для пары (A,C) cp.apифм. =',am:0:6,' cp.гeoм. = ',gm:0:6);
mean(a,d,am,gm);
writeln('Для пары (A,D) cp.apифм. =',am:0:6,' cp.гeoм. = ',gm:0:6);
readln;
end.
Код на С++
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
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
double Mean (int x, int y, double AMean, double GMean)
{
    AMean=(x+y)/2;
    GMean=(x*y);
    return AMean, GMean;
}
int main()
{ 
    setlocale(LC_ALL, "");
    int a, b, c, d, AM, GM;
    cout<<"Введите A - "; cin>>a;
    cout<<"Введите B - "; cin>>b;
    cout<<"Введите C - "; cin>>c;
    cout<<"Введите D - "; cin>>d;
    Mean(a, b, AM, GM);
    cout<<"Для пары AB, ср. арифм. = "<<AM<<"; Ср. геом. = "<<GM;
    Mean(a,c,AM,GM);
    cout<<"Для пары AC, ср. арифм. = "<<AM<<"; Ср. геом. = "<<GM;
    Mean(a,d,AM,GM);
    cout<<"Для пары AD, ср. арифм. = "<<AM<<"; Ср. геом. = "<<GM;
    return 0;
}
Выдаёт ошибки:
warning C4700: использована неинициализированная локальная переменная "GM"
warning C4700: использована неинициализированная локальная переменная "AM"
В С++ нет процедур, и поэтому ошибка(
Помогите...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2012, 19:46     Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел
Посмотрите здесь:

Найти среднее арифметическое положительных чисел C++
Программа, считающая среднее арифметическое положительных чисел C++
C++ Найти среднее арифметическое положительных чисел
C++ Вычислите среднее арифметическое положительных и среднее арифметическое отрицательных чисел
Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.05.2012, 19:57     Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел #2
Ну так инициализируй переменные:
C++
1
2
3
4
cout<<"Введите AM - "; 
cin>>AM;
cout<<"Введите GM - "; 
cin>>GM;
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
12.05.2012, 20:14     Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел #3
Цитата Сообщение от XaJlop4ik Посмотреть сообщение
C++
1
2
3
4
5
double Mean (int x, int y, double AMean, double GMean) {
    AMean=(x+y)/2;
    GMean=(x*y);
    return AMean, GMean;
}
Нельзя возвратить из функции сразу 2 значения. + здесь AMean и GMean - локальные копии, т.е. те, что в ф-ии main не изменятся. Передавай выходные параметры по ссылке, возвращать из ф-ии ни к чему. Т.е. как-то так:
C++
1
2
3
4
void Mean(double x, double y, double & AMean, double & GMean) {
    AMean = (x + y) / 2.;
    GMean = std::sqrt(x*y);
}
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
13.05.2012, 01:11  [ТС]     Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел #4
Цитата Сообщение от yuron_477 Посмотреть сообщение
Ну так инициализируй переменные:
C++
1
2
3
4
cout<<"Введите AM - "; 
cin>>AM;
cout<<"Введите GM - "; 
cin>>GM;
Мы AM и GM не вводим, посмотри код, который на Паскале, внимательнее! Мы их просто выводим
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
13.05.2012, 01:18  [ТС]     Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел #5
Задание:
Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое AMean = (X + Y)/2 двух положительных чисел X и Y (X и Y — входные, AMean и GMean — выходные параметры вещественного типа). С помощью этой процедуры найти среднее арифметическое и среднее геометрическое для пар (A, B), (A, C), (A, D), если даны A, B, C, 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
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
void Mean(double x, double y, double AMean, double GMean) 
{
    AMean = (x + y) / 2.;
    GMean = sqrt(x*y);
}
int main()
{ 
    setlocale(LC_ALL, "");
    double a, b, c, d, AM, GM;
    cout<<"Введите A - "; cin>>a;
    cout<<"Введите B - "; cin>>b;
    cout<<"Введите C - "; cin>>c;
    cout<<"Введите D - "; cin>>d;
    Mean(a, b, AM, GM);
    cout<<"Для пары AB, ср. арифм. = "<<AM<<"; Ср. геом. = "<<GM<<endl;
    Mean(a, c, AM, GM);
    cout<<"Для пары AC, ср. арифм. = "<<AM<<"; Ср. геом. = "<<GM<<endl;
    Mean(a, d, AM, GM);
    cout<<"Для пары AD, ср. арифм. = "<<AM<<"; Ср. геом. = "<<GM<<endl;
    return 0;
}
Скрин ошибки:
Миниатюры
Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел  
antoha398
155 / 155 / 3
Регистрация: 29.03.2012
Сообщений: 418
13.05.2012, 01:23     Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел #6
русский по белому написано "не инициализированные переменные GM AM".
присвойте им нули в начале.

и что бы работало правильно, в функции надо принимать ссылки.
Цитата Сообщение от XaJlop4ik Посмотреть сообщение
void Mean(double x, double y, double &AMean, double &GMean)
gray_fox
What a waste!
 Аватар для gray_fox
1244 / 1127 / 53
Регистрация: 21.04.2012
Сообщений: 2,350
Завершенные тесты: 3
13.05.2012, 01:24     Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел #7
Вообще, вычисления среднего ариф. и геом. логичнее было бы в разные ф-ии разнести - тогда у каждой ф-ии будет одна ответственность + можно будет пользоваться только возвращаемым значением.
XaJlop4ik
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
13.05.2012, 01:26  [ТС]     Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел #8
Цитата Сообщение от antoha398 Посмотреть сообщение
русский по белому написано "не инициализированные переменные GM AM".
присвойте им нули в начале.

и что бы работало правильно, в функции надо принимать ссылки.
Спасибо, заработало)
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
13.05.2012, 02:28     Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел #9
Цитата Сообщение от XaJlop4ik Посмотреть сообщение
Мы AM и GM не вводим, посмотри код, который на Паскале, внимательнее! Мы их просто выводим
Да нельзя в С++ пользоваться или выводить на экран не инициализированные переменные. Они содержат в себе мусор.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2012, 05:29     Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
HeqpuJIuM
0 / 0 / 0
Регистрация: 24.01.2012
Сообщений: 25
13.05.2012, 05:29     Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел #10
всего то стоило внимательно и вдумчиво прочитать текст ошибки...
Yandex
Объявления
13.05.2012, 05:29     Описать процедуру Mean(X, Y, AMean), вычисляющую среднее арифметическое двух положительных чисел
Ответ Создать тему
Опции темы

Текущее время: 23:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru