C/C++

Даны две обыкновенные дроби(введено пользователем). Написать программу которая делит первую дробь на вторую.

Михаил
Михаил
103
Бери и ничего не говори
#include
#include
#include
using namespace std;

int main()
{
setlocale(LC_ALL, "RUS");
float a, b, c, d;
cout << "введите первую дробь" << endl;
cin >> a;
cout << '/';
cin >> b;
cout << "введите вторую дробь" << endl;
cin >> c;
cout << '/';
cin >> d;
int p = (a * d) / (b * c);
cout << p;

return 0;
}
АК
Анжей Кшишитоф
3 186
Лучший ответ
#include <iostream>
#include <string>
using namespace std;
int integer(const char* msg) {
cout << msg;
int value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
long long gcd(long long a, long long b) {
a = abs(a);
if (a) {
b = abs(b);
while (a != b) {
if (a > b) swap(a, b);
b -= a;
}
}
return a;
}
int main() {
system("chcp 1251 > nul");
auto a = integer("Числитель первой дроби: ");
auto b = integer("Знаменатель первой дроби: ");
auto c = integer("Числитель второй дроби: ");
auto d = integer("Знаменатель второй дроби: ");
auto num = long long(a) * d;
auto den = long long(b) * c;
auto x = gcd(num, den);
if (x) {
num /= x;
den /= x;
if (den < 0) {
num *= -1;
den *= -1;
}
}
cout << "Результат: " << num << '/' << den << '\n';
system("pause > nul");
}
Рустем Шарипов
Рустем Шарипов
88 446

Похожие вопросы