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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Anton21
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 15
#1

Вычислить среднее гармоническое для каждой пары чисел - C++

19.10.2012, 21:22. Просмотров 1310. Ответов 10
Метки нет (Все метки)

Написать программу, которая вводит с клавиатуры пару чисел a и b до тех пор, пока a != 0 или b != 0.
Для каждой пары чисел вычислить среднее гармоничное этих чисел по формуле:

http://www.cyberforum.ru/cgi-bin/latex.cgi?H_{-1}\, (a,\, b) = \frac{2 a b}{a + b}

(через рекурсию и указатели)

Я здесь несколько написал, но посмотрите, здесь все хорошо?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <conio.h>
using namespace std;
float sum(float ,float );
int main()
{
    float a,b;
    sum(a,b);
    getch();
    return 0;
}
float sum(float x,float y)
{
    cout<<"vv dva chisla:";
    cin>>x>>y;
    float *px=&x,*py=&y;
    if(*px!=0 && *py!=0){
    float c=(2*(*px)*(*py))/((*px)+(*py));
    cout<<"Seredne harmonichne:"<<c<<endl;
    return sum(x,y);
          }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2012, 21:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вычислить среднее гармоническое для каждой пары чисел (C++):

Для каждой пары чисел вычислить среднее гармоничное этих чисел по формуле - C++
Привет! Нужно написать программу по ссылке! Я вот написал, но не знаю ли я ее правильно написал!! Проверьте кто-то пожалуйста!) Вот...

Число вершин, удаленных от пары вершин по кротчайшим маршрутам каждой из следующих длин: 1, 2, 3 и т.д., для каждой пары вершин. - C++
Число вершин, удаленных от пары вершин по кротчайшим маршрутам каждой из следующих длин: 1, 2, 3 и т.д., для каждой пары вершин. ...

Для каждой строки массива найдите среднее арифметическое положительных чётных чисел - C++
в целочисленном массиве A(n,m) для каждой строки найдите среднее арифметическое положительных чётных чисел. вот что есть #include...

Вычислить среднее арифметическое отрицательных элементов массива. Использовать функцией для каждой строки матрицы А (4, 8) - C++
Здравствуйте. Вычислить среднее арифметическое отрицательных элементов массива. Использовать функцией для каждой строки матрицы А (4, 8)....

Найти суммы каждой пары подряд идущих чисел - C++
Люди, срочно нужно написать програмку. Завтра сдавать. Дана последовательность натуральных чисел. Найти суммы каждой пары подряд идущих...

Вывести максимальный с каждой пары двух соседних елементов масива.Здесь выводит только с первой пары! - C++
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt; #pragma hdrstop #include&lt;conio.h&gt; ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
19.10.2012, 21:43 #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
#include <iostream>
using namespace std;
 
void sum(float ,float );
 
int main()
{
    system("chcp 1251");
 
    cout << "Введите два числа: ";
    float a, b;
    cin >> a >> b;
 
    sum(a, b);
 
    system("pause");
    return 0;
}
void sum(float x,float y)
{
    if(x != 0 && y != 0)
    {
        float c = (2 * x * y) / (x + y);
        cout<<"Среднее гармоническое: " << c << endl;
    }
    else
        cout << "Значения не могут быть нулями!\n";
    cin >> x >> y;
    sum(x, y);
}
Anton21
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 15
19.10.2012, 21:48  [ТС] #3
Цитата Сообщение от StanislavUA Посмотреть сообщение
не понимаю зачем использовались указатели в функции
Я и сам не понимаю зачем, но так сказали так и делаю)
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
19.10.2012, 21:52 #4
держи с указателями
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>
using namespace std;
 
void sum(float *px, float *py);
 
int main()
{
    system("chcp 1251");
 
    cout << "Введите два числа: ";
    float a, b;
    cin >> a >> b;
 
    float * px = &a;
    float * py = &b; 
 
    sum(px, py);
 
    system("pause");
    return 0;
}
void sum(float *px, float *py)
{
    if(*px != 0 && *py != 0)
    {
        float c = (2 * (*px) * (*py)) / ((*px) + (*py));
        cout<<"Среднее гармоническое: " << c << endl;
    }
    else
        cout << "Значения не могут быть нулями!\n";
    cin >> *px >> *py;
    sum(px, py);
}
Anton21
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 15
19.10.2012, 22:00  [ТС] #5
А еще бы выход при нажатии нуля сделать!)

Добавлено через 2 минуты
И спасибо, большое спасибо!
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
19.10.2012, 22:12 #6
после
Цитата Сообщение от StanislavUA Посмотреть сообщение
cout << "Значения не могут быть нулями!\n";
пишешь
C++
1
exit(1);
Anton21
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 15
19.10.2012, 22:33  [ТС] #7
Большое вам спасибо!))
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
19.10.2012, 22:34 #8
Anton21, да не за что)
ValeryS
Модератор
6556 / 5022 / 464
Регистрация: 14.02.2011
Сообщений: 16,763
19.10.2012, 22:37 #9
Цитата Сообщение от StanislavUA Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
void sum(float x,float y)
{
 if(x != 0 && y != 0)
 {
 float c = (2 * x * y) / (x + y);
 cout<<"Среднее гармоническое: " << c << endl;
 }
 else
 cout << "Значения не могут быть нулями!\n";
 cin >> x >> y;
 sum(x, y);
}
бесконечная рекурсия это конечно круто
через сколько введенных значений у тебя рухнет программа
Anton21
0 / 0 / 0
Регистрация: 18.10.2012
Сообщений: 15
19.10.2012, 22:50  [ТС] #10
Цитата Сообщение от StanislavUA Посмотреть сообщение


пишешь

exit(1);
А это что?
StanislavUA
44 / 44 / 3
Регистрация: 27.04.2011
Сообщений: 163
19.10.2012, 22:53 #11
Цитата Сообщение от ValeryS Посмотреть сообщение
через сколько введенных значений у тебя рухнет программа
проверьте и расскажите нам

Добавлено через 2 минуты
Цитата Сообщение от Anton21 Посмотреть сообщение
А это что?
http://devoid.com.ua/functions-about...xit-_exit.html
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.10.2012, 22:53
Привет! Вот еще темы с ответами:

Вывести вместо каждой пары соседних чисел, разность которых меньше заданного числа Е, их среднеарифметическое - C++
решить ОДНУ из трех задач 1. дана убывающая последовательность чисел. вывести вместо каждой пары соседних чисел, разность которых...

Вычислить среднее арифметическое и среднее геометрическое нечетных чисел, кратных 7 в диапазоне от M1 до M2 - C++
Вычислить среднее арифметическое и среднее геометрическое нечетных чисел, кратных 7 в диапазоне от M1 до M2

Напишите функцию с переменным числом параметров (среднее гармоническое элементов числового ряда) - C++
Продемонстрировать вызов функции с различным числом параметров. Выполните вычисления для трех и десяти чисел. Решите задачу двумя...

Вычислить среднее арифметическое в каждой строке матрицы. - C++
Дан двумерный числовой массив. Память выделить статически, заполнить с клавиатуры. Вывести массив в матричной форме. Вычислить среднее...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
19.10.2012, 22:53
Ответ Создать тему
Опции темы

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