C/C++

Нужен готовый код по C++ рабочий без ошибок C++

Решить уравнение
Решить в целых числах уравнение ( ax + b ) : ( cx + d ) = 0.

Входные данные

Вводятся 4 числа: a, b, c и d; c и d не равны нулю одновременно.

Выходные данные

Необходимо вывести все целочисленные решения, если их число конечно, “NO” (без кавычек), если целочисленных решений нет, и “INF” (без кавычек), если их бесконечно много.

Sample Input:

8 11
Sample Output:

19
Markos Mikaelyan
Markos Mikaelyan
9
Товарищ, не видите ли вы очевидной несостыковки между условием "вводится 4 числа" и примером "8 11"?
Сергей Боднар
Сергей Боднар
51 416
Лучший ответ
Ниже приведен готовый код на C++:
```
#include <iostream>
using namespace std;

int main() {
int a, b, c, d;
cin >> a >> b >> c >> d;
if (a == 0 && b == 0) {
cout << "INF";
} else if (a == 0 || b * c == a * d) {
cout << "NO";
} else {
if (b % a == 0 && d % c == 0 && ((-b / a) == (-d / c))) {
cout << (-b / a);
} else {
cout << "NO";
}
}
return 0;
}
```

Программа считывает четыре целых числа - a, b, c, d из стандартного потока ввода с помощью функции `cin`. Затем она проверяет несколько случаев и выводит результат в стандартный поток вывода с помощью функции `cout`.

Если числитель и знаменатель дроби равны нулю, программа выводит "INF" - т.е. бесконечное число целых решений. Если только числитель равен нулю, то решения нет - выводится "NO". Если числитель и знаменатель не равны нулю и не пропорциональны друг другу, то программа проверяет, может ли дробь быть сокращена так, чтобы числитель и знаменатель были целыми числами. Если да, то решение равно целочисленной части дроби. Если же дробь не может быть упрощена до целых чисел, то решения нет - выводится "NO".
Markos Mikaelyan не рабочий ошибка