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

Вычитание дробей

27.04.2021, 14:53. Показов 4813. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Даны две дроби А/В и С/D (A,В,C,D — натуральные числа). Составьте программу вычитания из первой дроби второй. Ответ должен быть несократимой дробью.

Прошу помочь, пожалуйста
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2021, 14:53
Ответы с готовыми решениями:

Сложение и вычитание дробей
Не знаю как это можно сделать, надеюсь на вашу помощь Нужно вычеслить :...

Сделать вычитание дробей через функции
Сделать вычитание дробей через функции желательно очень легкий способ

Структура состоящая из двух дробей и методов работы с ними(сложение, вычитание)
Пишем в Microsoft Visual Studio 2010 -> Win32 Console Application -> C++ Собственно задача такова...

сокрощение дробей
Нужно сложить две дроби и по возможности сокротить, сложение то работает. А сокротить не...

9
8 / 4 / 5
Регистрация: 26.04.2021
Сообщений: 31
27.04.2021, 15:27 2
Вам нужен вид дроби : (A*D-C*B)/B*D, то есть обычная дробь, не десятичная?
0
2 / 2 / 0
Регистрация: 14.04.2021
Сообщений: 51
27.04.2021, 15:42  [ТС] 3
Конкретно не стоит вопрос о том, какая дробь нужна, просто выполнить сказали, а как не знаю (
0
8 / 4 / 5
Регистрация: 26.04.2021
Сообщений: 31
27.04.2021, 16:12 4
Лучший ответ Сообщение было отмечено Yves Saint как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int main()
{
    int first, second;                            //first и second числитель и знаменатель, maxd НОД
    float dAB, dCD, A, B, C, D, maxd=0;          //aAB and dCD знвчение дробей, obsh 
    cin>>A>>B>>C>>D;
    first = A*D-B*C;
    second = B*D;
    dAB=A/B;
    dCD=C/D;
    for(int i=2; i<=first+second; i++)
    {
        if(first%i==0 && second%i==0 && maxd<=i)
            maxd=i;
    }
    first=first/maxd;
    second=second/maxd;
    cout<<first<<"/"<<second<<" = "<<dAB-dCD;
    return 0;
}
если что-то непонятно - напиши
1
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,483
Записей в блоге: 1
27.04.2021, 16:16 5
Yves Saint, значит такое у вас отношение к учёбе, что вы не пытаетесь даже решать задачи.
Вам хоть простое, хоть лёгкое ДЗ дай - для вас это будет "магия", которую вы старательно перепишете из дневника и запостите на форум, не вникая, о чём оно там!
0
2523 / 1243 / 459
Регистрация: 08.11.2016
Сообщений: 3,415
27.04.2021, 16:28 6
Лучший ответ Сообщение было отмечено Yves Saint как решение

Решение

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
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
 
struct Fraction
{
    int num;
    unsigned denom;
};
 
int gcd(int a, int b) {
  while(a && b) {
    if(a>b)
      a %= b;
    else
      b %= a;
  }
  return a+b;
}
 
void inputFrac(Fraction &f)
{
    std::cout << "Numerator? ";
    std::cin >> f.num;
    std::cout << "Denominator? ";
    std::cin >> f.denom;
}
 
void printFrac(const Fraction &f)
{
    std::cout << f.num << "/" << f.denom;
}
 
Fraction reduce(const Fraction &f)
{
    unsigned dv = gcd(f.num, f.denom);
    return Fraction{ f.num / dv, f.denom / dv };
}
 
Fraction subFrac(const Fraction &a, const Fraction &b)
{
    return reduce( Fraction{ a.num * b.denom - b.num * a.denom, a.denom * b.denom } );
}
 
int main()
{
    Fraction a, b;
    std::cout << "Input fraction a:" << std::endl;
    inputFrac(a);
    std::cout << "Input fraction b:" << std::endl;
    inputFrac(b);
 
    std::cout << "Result:" << std::endl;
    printFrac(a);
    std::cout << " - ";
    printFrac(b);
    std::cout << " = ";
    printFrac(subFrac(a, b));
    std::cout << std::endl;
 
    return 0;
}
1
8 / 4 / 5
Регистрация: 26.04.2021
Сообщений: 31
27.04.2021, 16:30 7
Kuzia domovenok, для таких как я, то есть начинающих, такие люди двигатель роста скила, чтож поделать если они сами не могут или не хотят, это их дело, зато мы можем опыта набраться.
0
2 / 2 / 0
Регистрация: 14.04.2021
Сообщений: 51
27.04.2021, 16:45  [ТС] 8
Спасибо всем огромное за помощь!)
выручили)

а так тяжело тянуть все предметы, тем более программирование у нас не является основным
0
2523 / 1243 / 459
Регистрация: 08.11.2016
Сообщений: 3,415
27.04.2021, 16:57 9
Цитата Сообщение от Yves Saint Посмотреть сообщение
а так тяжело тянуть все предметы
не жалуйтесь, иным в Ваши годы приходилось и предметы тянуть и рабочую лямку до кучи.
0
2 / 2 / 0
Регистрация: 14.04.2021
Сообщений: 51
27.04.2021, 17:07  [ТС] 10
это крутые ребята ))
0
27.04.2021, 17:07
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2021, 17:07
Помогаю со студенческими работами здесь

Сокрашение дробей
Задача такая. Я сокращаю две дроби крест накрест. Т.е. числитель первой на знаменатель второй,...

вычисление дробей
знаменатель высчитывается правильно, а вот числитель нет Кто-то подскажет почему? ...

Калькулятор дробей
Здравствуйте! Изучаю С++ по книге Лафоре, там нужно было создать калькулятор дробей в одном из...

Сравнение дробей
Здравствуйте, очень нужна ваша помощь. Помогите, пожалуйста с сравнение дробями. больше, меньше,...

Массив из дробей
Добрый вечер! Необходимо ввести дробные числа, которые хранятся в массиве, сложить их и найти...

Калькулятор дробей
Учусь программировать на C++, в данное время на мобильном компиляторе &quot;Cxx IDE for android&quot;. С утра...


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

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

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