Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main(){
- R:
- float x, y = 0;
- bool xp = 1, yp = 1; //Переменные показывающие положительное ли число X или Y
- system("chcp 1251>nul");
- cout << "Введите X и Y:" << endl;
- cout << " ";
- cin >> x >> y;
- if (x < 0){ //Если X < 0, то инвертируем его в +
- xp = 0;
- x *= -1;
- }
- if (y < 0){ //Если Y < 0, то инвертируем его в +
- yp = 0;
- y *= -1;
- }
- if ((y > 1.5) || (x > 2)){ //Если Y > 1.5, то такого не может быть
- cout << "Не попал." << endl;
- cout << "Введенное значение вышло за рамки заданного рисунка.\n" << endl;
- goto R;
- }
- if (x <= 1 && y <= 1){ //Если X <= 1 И Y <= 1 (они уже будут инвертированы в положительные значения), то мы рассматриваем квадрат (1,1)
- if ((xp && yp) || (!xp && !yp)){ //Если X и Y одинаковы по знаку, то мы попали в левую часть квадрата (1,1)
- if (y >= x) cout << "Попал.\n" << endl; //Если Y >= X, то да, попадает в область
- else cout << "Не попал.\n" << endl;
- }
- else{ //Если же мы попали в правую часть квадрата, то переворачиваем условие
- if (y <= x) cout << "Попал.\n" << endl; //Если Y <= X, то да, попадает в область
- else cout << "Не попал.\n" << endl;
- }
- }
- else if (((xp && !yp) || (!xp && yp)) && (y - 1) >= (x - 1)*0.5) //Проверка на углы, после этого возвращаем значения к окресности 0, а X умножаем на угловой коэффицент из уравнения прямой в углу y=0.5x-0
- cout << "Попал.\n" << endl;
- else
- cout << "Не попал.\n" << endl;
- goto R;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement