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

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

19.10.2012, 21:22. Просмотров 1451. Ответов 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);
          }
}

http://www.cyberforum.ru/cpp-beginners/thread674150.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2012, 21:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вычислить среднее гармоническое для каждой пары чисел (C++):

Пользователь вводит пары целых чисел. Вычислить площади прямоугольников, сторонами которых являются эти пары чисел
Пользователь вводит пары целых чисел. Вычислить площади прямоугольников,...

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

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

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

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

10
StanislavUA
44 / 44 / 14
Регистрация: 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);
}
0
Anton21
0 / 0 / 1
Регистрация: 18.10.2012
Сообщений: 15
19.10.2012, 21:48  [ТС] #3
Цитата Сообщение от StanislavUA Посмотреть сообщение
не понимаю зачем использовались указатели в функции
Я и сам не понимаю зачем, но так сказали так и делаю)
0
StanislavUA
44 / 44 / 14
Регистрация: 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);
}
1
Anton21
0 / 0 / 1
Регистрация: 18.10.2012
Сообщений: 15
19.10.2012, 22:00  [ТС] #5
А еще бы выход при нажатии нуля сделать!)

Добавлено через 2 минуты
И спасибо, большое спасибо!
0
StanislavUA
44 / 44 / 14
Регистрация: 27.04.2011
Сообщений: 163
19.10.2012, 22:12 #6
после
Цитата Сообщение от StanislavUA Посмотреть сообщение
cout << "Значения не могут быть нулями!\n";
пишешь
C++
1
exit(1);
1
Anton21
0 / 0 / 1
Регистрация: 18.10.2012
Сообщений: 15
19.10.2012, 22:33  [ТС] #7
Большое вам спасибо!))
0
StanislavUA
44 / 44 / 14
Регистрация: 27.04.2011
Сообщений: 163
19.10.2012, 22:34 #8
Anton21, да не за что)
0
ValeryS
Модератор
7124 / 5392 / 669
Регистрация: 14.02.2011
Сообщений: 18,210
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);
}
бесконечная рекурсия это конечно круто
через сколько введенных значений у тебя рухнет программа
1
Anton21
0 / 0 / 1
Регистрация: 18.10.2012
Сообщений: 15
19.10.2012, 22:50  [ТС] #10
Цитата Сообщение от StanislavUA Посмотреть сообщение


пишешь

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

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

Вывести максимальный с каждой пары двух соседних елементов масива.Здесь выводит только с первой пары!
//--------------------------------------------------------------------------- ...

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

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

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


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

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

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