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

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

12.05.2012, 19:46. Показов 12472. Ответов 9
Метки нет (Все метки)

Описать процедуру 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"
В С++ нет процедур, и поэтому ошибка(
Помогите...
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2012, 19:46
Ответы с готовыми решениями:

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

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

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

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

9
1456 / 793 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.05.2012, 19:57 2
Ну так инициализируй переменные:
C++
1
2
3
4
cout<<"Введите AM - "; 
cin>>AM;
cout<<"Введите GM - "; 
cin>>GM;
0
What a waste!
1607 / 1299 / 180
Регистрация: 21.04.2012
Сообщений: 2,727
12.05.2012, 20:14 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);
}
1
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
13.05.2012, 01:11  [ТС] 4
Цитата Сообщение от yuron_477 Посмотреть сообщение
Ну так инициализируй переменные:
C++
1
2
3
4
cout<<"Введите AM - "; 
cin>>AM;
cout<<"Введите GM - "; 
cin>>GM;
Мы AM и GM не вводим, посмотри код, который на Паскале, внимательнее! Мы их просто выводим
0
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
13.05.2012, 01:18  [ТС] 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), вычисляющую среднее арифметическое двух положительных чисел  
0
157 / 157 / 27
Регистрация: 29.03.2012
Сообщений: 418
13.05.2012, 01:23 6
русский по белому написано "не инициализированные переменные GM AM".
присвойте им нули в начале.

и что бы работало правильно, в функции надо принимать ссылки.
Цитата Сообщение от XaJlop4ik Посмотреть сообщение
void Mean(double x, double y, double &AMean, double &GMean)
2
What a waste!
1607 / 1299 / 180
Регистрация: 21.04.2012
Сообщений: 2,727
13.05.2012, 01:24 7
Вообще, вычисления среднего ариф. и геом. логичнее было бы в разные ф-ии разнести - тогда у каждой ф-ии будет одна ответственность + можно будет пользоваться только возвращаемым значением.
0
0 / 0 / 0
Регистрация: 21.11.2011
Сообщений: 70
13.05.2012, 01:26  [ТС] 8
Цитата Сообщение от antoha398 Посмотреть сообщение
русский по белому написано "не инициализированные переменные GM AM".
присвойте им нули в начале.

и что бы работало правильно, в функции надо принимать ссылки.
Спасибо, заработало)
0
1456 / 793 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
13.05.2012, 02:28 9
Цитата Сообщение от XaJlop4ik Посмотреть сообщение
Мы AM и GM не вводим, посмотри код, который на Паскале, внимательнее! Мы их просто выводим
Да нельзя в С++ пользоваться или выводить на экран не инициализированные переменные. Они содержат в себе мусор.
0
0 / 0 / 0
Регистрация: 24.01.2012
Сообщений: 25
13.05.2012, 05:29 10
всего то стоило внимательно и вдумчиво прочитать текст ошибки...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.05.2012, 05:29
Помогаю со студенческими работами здесь

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

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

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

Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных чисел
Написать программу, вычисляющую сумму и среднее арифметическое последовательности положительных...


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

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

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