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

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

Войти
Регистрация
Восстановить пароль
 
Heroses
Сообщений: n/a
#1

Функции. Вычислить результат выражения - C++

01.11.2009, 20:46. Просмотров 471. Ответов 6
Метки нет (Все метки)

Вычислите результат выражения
((A/B+C)-(C/B-C))*E/F
В виде правильной дроби, где A,B,C,E,F - целые числа. Воспользуйтесь формулой сложения дробей.

Вот такая задачка. Подскажите как решить? Или хотя-бы намекните
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2009, 20:46     Функции. Вычислить результат выражения
Посмотрите здесь:

вычислить результат выражения. C++
С помощью рекурсивной функции вычислить значение выражения C++
C++ Объяснить результат и вывести на экран результат логического выражения
В главной функции main () ввести входные данные, и вызвав собственные функции, вычислить значение выражения и вывести результаты C++
Вычислить значение функции на отрезке и результат представить в виде таблицы C++
C++ Вычислить значение функции на отрезке. Результат представить в виде таблицы.
C++ Вычислить результат выражения, заданного формулой
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
01.11.2009, 20:51     Функции. Вычислить результат выражения #2
каждую не дробь представляй как числитель делить на 1 и по формуле сложения дробей (5 класс)) ) складывай их все учитывая порядок действий в итоге получишь два int'a (chisl , znamen )
Heroses
Сообщений: n/a
01.11.2009, 20:55     Функции. Вычислить результат выражения #3
хм.. :O а можно немножко по подробнее?
Желательно в кодовом варианте ^^
odip
Эксперт С++
 Аватар для odip
7151 / 3291 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
02.11.2009, 19:51     Функции. Вычислить результат выражения #4
Пусть есть две дроби: A/B и C/D.
Тогда сумма двух дробей есть дробь: (A*D)/(B*D) + (C*B)/(B*D) == (A*D+C*B)/(B*D).
Осталось сократить числитель и знаменатель - чтобы они стали меньше.

Аналогично делается вычитание дробей.
Умножение дроби на число и деление дроби на число вообще тривиально.
Умножение дроби на дробь тоже просто.
audiophile
9 / 9 / 0
Регистрация: 01.11.2009
Сообщений: 67
02.11.2009, 20:35     Функции. Вычислить результат выражения #5
минуту

Добавлено через 32 минуты
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
#include <cmath>
using namespace std;
 
int main () {
    int a,b,c,e,f,chisl,znam,celoe;
    cout << "A? ";
    cin >> a;
    cout << "B? ";
    cin >> b;
    cout << "C? ";
    cin >> c;
    cout << "E? ";
    cin >> e;
    cout << "F? ";
    cin >> f;
    chisl = (a - c + (2 * c * b)) * e;
    znam = b * f;
 
    if ( chisl == znam )
    {
        cout << 1 << endl;
        return 0;
    }
    
    if (chisl <= 0 && znam < 0)
    {
        chisl = -chisl;
        znam = -znam;
    }
    if( abs(chisl) > abs(znam) )
    {
        celoe = chisl/znam;
        chisl = chisl%znam;
        if ( celoe < 0 )
        {
            chisl = abs(chisl);
            znam = abs(znam);
        }
        if ( chisl != 0 )
            cout << celoe << " " << chisl << "/" << znam << endl;
        else
            cout << celoe << endl;
    }
    else
        cout << chisl << "/" << znam << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
Блин, вот это я намудрил-то. Проверь, правильно ли считает .
odip
Эксперт С++
 Аватар для odip
7151 / 3291 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
02.11.2009, 21:49     Функции. Вычислить результат выражения #6
А нужно-то всего лишь выравнять знак.
А потом поделить и числитель и знаменатель на NOD(числитель,знаменатель).
Что-то я тут не вижу - где NOD ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.11.2009, 21:52     Функции. Вычислить результат выражения
Еще ссылки по теме:

C++ Вычислить значение функции y для x=a(h)b - получается всего один результат
C++ Вычислить значение выражения: результат не совпадает с ответом
Вычислить значение выражения, возведение аргумента в n степень оформить в виде функции C++
Вычислить значение функции и вывести результат в виде таблицы C++
Вычислить значение выражения в зависимости от выбранной функции C++

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

Или воспользуйтесь поиском по форуму:
audiophile
9 / 9 / 0
Регистрация: 01.11.2009
Сообщений: 67
02.11.2009, 21:52     Функции. Вычислить результат выражения #7
Ах, блин. Использовать НОД в алгоритме не пришла в голову идея (не обратил внимание на то, что дробь должна быть правильной, что как раз легко позволяет сделать НОД) .
Yandex
Объявления
02.11.2009, 21:52     Функции. Вычислить результат выражения
Ответ Создать тему
Опции темы

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