Решение задачи Школьная алгебра с Acmp

Без пояснения   Просмотров: 116


Трёхчлен a + bx + сy от двух переменных x и y однозначно определяется коэффициентами a, b и c. Написать программу, которая по заданным a, b и c выводит соответствующий трёхчлен, записанный с использованием алгебраических соглашений:

Код

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    int a,b,c;
    cin >> a >> b >> c;
    bool d = false, dd = false;
    if(a == 0 && b == 0 && c == 0){
        cout << 0;
        return 0;
    }
    if(a != 0){
        cout << a;
        d = true;
    }
     
    if(b != 0)
        if(!(a == 0 && b != 0 && c == 0)){
            if(b == -1)
                cout << "-x";
            if(b == 1 && d)
                cout << "+x";
            if(b == 1 && d == 0)
                cout << "x";
            if(b > 1 && d)
                cout << "+" << b << "x";
            if(b > 1 && d == 0)
                cout << b << "x";
            if(b < -1)
                cout << b << "x";
            dd = true;
    }
    if(c != 0 )
        if(!(a == 0 && b == 0 && c != 0)){
            if(c == -1)
                cout << "-y";
            if(c == 1 && (dd || d))
                cout << "+y";
            if(c > 1 && (d || dd))
                cout << "+" << c << "y";
            if(c < -1)
                cout << c << "y";
    }
 
 
    if(a == 0 && b != 0 && c == 0)
        if(b == 1)
            cout << "x";
        else
            if(b == -1)
                cout <<"-x";
        else
            cout << b << "x";
 
    if(a == 0 && b == 0 && c != 0)
        if(c == 1)
            cout << "y";
        else
            if(c == -1)
                cout <<"-y";
        else
            cout << c << "y";
    return 0;
}

         

Администратор Photo Автор: Администратор




Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться