
C/C++
Задача на c++. Нет понимания с чего начать выполнение работы.
Помогите с решением задачи, или подтолкните в нужном направлении, прошу максимально просто решить задачу. (Необходимо аккуратно рассмотреть все возможные принципиально разные варианты значений коэффициентов или параметров)


#include <iostream>
#include <iomanip>
using namespace std;
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
int main() {
system("chcp 1251 > nul");
const char* bad = "Нет решений!";
auto a = real("a: ");
auto b = real("b: ");
auto c = real("c: ");
if (c < 0.0) puts(bad);
else {
cout << fixed << setprecision(2);
auto lambda = [a, b, c](const double x) {
return fabs(c - fabs(x - a) - fabs(x - b)) < 1e-12;
};
auto x1 = (c + a + b) / 2.0;
auto x2 = (a + b - c) / 2.0;
if (lambda(x1)) cout << "x1: " << x1 << '\n';
if (lambda(x2)) cout << "x2: " << x2 << '\n';
if (!lambda(x1) && !lambda(x2)) puts(bad);
}
system("pause > nul");
}
#include <iomanip>
using namespace std;
double real(const char* msg) {
cout << msg;
double value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
int main() {
system("chcp 1251 > nul");
const char* bad = "Нет решений!";
auto a = real("a: ");
auto b = real("b: ");
auto c = real("c: ");
if (c < 0.0) puts(bad);
else {
cout << fixed << setprecision(2);
auto lambda = [a, b, c](const double x) {
return fabs(c - fabs(x - a) - fabs(x - b)) < 1e-12;
};
auto x1 = (c + a + b) / 2.0;
auto x2 = (a + b - c) / 2.0;
if (lambda(x1)) cout << "x1: " << x1 << '\n';
if (lambda(x2)) cout << "x2: " << x2 << '\n';
if (!lambda(x1) && !lambda(x2)) puts(bad);
}
system("pause > nul");
}
Найди решение и решения типа x = че-то там и все, вбей это в код и вуаля
Владимириоксана Доронины
спасибо, попробую
c не может быть отрицательным
double x1 = (a + b + c) / 2;
double x2 = (a -c + b) / 2;
std::cout << x1;
if (x1 != x2)
std::cout << " " << x2;
double x1 = (a + b + c) / 2;
double x2 = (a -c + b) / 2;
std::cout << x1;
if (x1 != x2)
std::cout << " " << x2;
|x - a| + |x - b| = c
|2x - a - b | = c
это сначала алгебра, потом уже с++
double a,b,x,c;
cin >> a >> b >> x;
c= abs(2*x-a-b);
cout << c;
|2x - a - b | = c
это сначала алгебра, потом уже с++
double a,b,x,c;
cin >> a >> b >> x;
c= abs(2*x-a-b);
cout << c;
Vahtang Zedginidze
свойство модуля:
|a + b| ≤ |a| + |b|
|a + b| ≤ |a| + |b|
Олег Кудрявцев
Точно c= abs(x-b) + abs(x-a)