Advertisement
vadim_sharaf

Untitled

Oct 3rd, 2022
1,033
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.17 KB | None | 0 0
  1. /*Автор: Шарафутдинов Вадим Ильдарович Группа: 2309 Версия: 1.1.1
  2. Дата начала: 12.12.22 Дата окончания: нет*/
  3. #include <iostream>
  4. #include <iomanip>
  5. #include <random>
  6. #include <cstdlib>
  7. #include <cmath>
  8. #include <ctime>
  9. using namespace std;
  10. int main() {
  11.     setlocale(LC_ALL, "ru");
  12.     double a, b, x, y, nx, ny, new_x, new_y;
  13.     int c = 0;
  14.     cout << "Автор: Шарафутдинов Вадим Ильдарович" << setw(30) << "Группа: 2309" << "\n" << "Версия: 1.1.1 " << setw(30) << "Дата начала : 12.12.22" << setw(30) << "Дата окончания : нет" << endl;
  15.     cout << "Рисунок:" << "|y " << "\n" << setw(41)  << "|________________________________" << "\n" << setw(9) << "5|" << setw(16) << "." << setw(14) << "|" << "\n" << setw(9) << "4|" << setw(13) << "." << setw(6) << "." << setw(11) << "|" << "\n" << setw(9) << "3|" << setw(22) << "<-.-------.->" << setw(8) << "|" << "\n" << setw(9) << "2|" << setw(13) << "." << setw(6) << "." << setw(11) << "|" << "\n" << setw(9) << "1|" << setw(16) << "." << setw(14) << "|" << "\n" << setw(44) << "0|--------------------------------  x" << "\n" << setw(9) << "|" << " 1  " << "2  " << "3  " << "4  " << "5  " << "6  " << "7  " << "8  " << "9  " << "10" << endl;
  16.     cout << "Введите параметры прямоугольника (значение длины должно быть больше, чем ширины)" << endl;
  17.     cout << "длина: " ;
  18.     cin >> a;
  19.     if (a <= 0) {
  20.         cout << "Eror! Параметры прямоугольника должны иметь положительные значения!" << "\n" << "Введите значение длины заново" << endl;
  21.         cin >> a;
  22.     }
  23.     cout << "ширина ";
  24.     cin >> b;
  25.     if (b <= 0) {
  26.         cout << "Eror! Параметры прямоугольника должны иметь положительные значения!" << "\n" << "Введите знчение ширины заново" << endl;
  27.         cin >> b;
  28.     }
  29.     if (a < b) {
  30.         cout << "Eror! Вы указали неправильные параметры прямоугольника. Значение его длины должно быть больше значения ширины. " << endl;
  31.         cout << "Введите значения заново" << endl;
  32.         cout << "длина: ";
  33.         cin >> a;
  34.         if (a <= 0) {
  35.             cout << "Eror! Параметры прямоугольника должны иметь положительные значения!" << "\n" << "Введите значение длины заново" << endl;
  36.             cin >> a;
  37.         }
  38.         cout << "ширина ";
  39.         cin >> b;
  40.         if (b <= 0) {
  41.             cout << "Eror! Параметры прямоугольника должны иметь положительные значения!" << "\n" << "Введите значение ширины заново" << endl;
  42.             cin >> b;
  43.         }
  44.     }
  45.     cout << "Введите координаты точки" << endl;
  46.     cout << "По оси абцисс: ";
  47.     cin >> x;
  48.     cout << "По оси ординат: ";
  49.     cin >> y;
  50.     y = abs(y);
  51.     x = abs(x);
  52.     if (x > a) {
  53.         c = x / a;
  54.         x = x - (c * a);
  55.     }
  56.     srand(static_cast <unsigned> (time(0))); // Получаем любую возможную координату начала окружности
  57.     double r2 = 0.0;
  58.     r2 += fmod(rand(), (a - b)) + 1;
  59.     r2 += (fmod(rand(), (a - b)) + 1) / 10.0;
  60.     r2 += (fmod(rand(), (a - b)) + 1) / 100.0;
  61.     r2 += (fmod(rand(), (a - b)) + 1) / 1000.0;
  62.     cout << "Координата цетра окружности по оси абцисс: " << r2 + b / 2 + c*a << endl;
  63.     if (y > b) { cout << "Не принадлежит"; }
  64.     else if ((x >= r2) && (x <= b + r2) ) {
  65.         nx = x - r2;
  66.         ny = y;
  67.         if (nx > b / 2) { new_x = nx / 2; }
  68.         else if (nx == b / 2) { new_x = 0; }
  69.         else { new_x = -(b / 2) + nx; }
  70.         if (ny > b / 2) { new_y = ny / 2; }
  71.         else if (ny == b / 2) { new_y = 0; }
  72.         else { new_y = -(b / 2) + ny; }
  73.         if (pow(new_x, 2) + pow(new_y, 2) <= pow(b / 2, 2)) {
  74.             cout << "Не принадлежит";
  75.         }
  76.         else {
  77.             cout << "Принадлежит";
  78.         }
  79.         return 0;
  80.     }
  81.     else { cout << "Принадлежит" << endl; }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement