SHARE
TWEET

MIREA_R1-Mersov-n6 (w description)

nlrn Dec 3rd, 2018 108 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4.     R:
  5.     float x, y = 0;
  6.     bool xp = 1, yp = 1;        //Переменные показывающие положительное ли число X или Y
  7.     system("chcp 1251>nul");
  8.     cout << "Введите X и Y:" << endl;
  9.     cout << "   ";
  10.     cin >> x >> y;
  11.  
  12.     if (x < 0){                 //Если X < 0, то инвертируем его в +
  13.         xp = 0;
  14.         x  *= -1;
  15.     }
  16.     if (y < 0){                 //Если Y < 0, то инвертируем его в +
  17.         yp = 0;
  18.         y *= -1;
  19.     }
  20.     if ((y > 1.5) || (x > 2)){          //Если Y > 1.5, то такого не может быть
  21.         cout << "Не попал." << endl;
  22.         cout << "Введенное значение вышло за рамки заданного рисунка.\n" << endl;
  23.         goto R;
  24.     }
  25.     if (x <= 1 && y <= 1){              //Если X <= 1 И Y <= 1 (они уже будут инвертированы в положительные значения), то мы                     рассматриваем квадрат (1,1)
  26.         if ((xp && yp) || (!xp && !yp)){        //Если X и Y одинаковы по знаку, то мы попали в левую часть квадрата (1,1)
  27.             if (y >= x) cout << "Попал.\n" << endl;                //Если Y >= X, то да, попадает в область
  28.             else cout << "Не попал.\n" << endl;
  29.         }
  30.         else{                                           //Если же мы попали в правую часть квадрата, то переворачиваем условие
  31.             if (y <= x) cout << "Попал.\n" << endl;            //Если Y <= X, то да, попадает в область
  32.             else cout << "Не попал.\n" << endl;
  33.         }
  34.     }
  35.     else if (((xp && !yp) || (!xp && yp)) && (y - 1) >= (x - 1)*0.5)    //Проверка на углы, после этого возвращаем значения к окресности 0, а X умножаем на угловой коэффицент из уравнения прямой в углу y=0.5x-0
  36.         cout << "Попал.\n" << endl;   
  37.     else
  38.         cout << "Не попал.\n" << endl;
  39.     goto R;
  40.     return 0;
  41. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top