Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Автор: Шарафутдинов Вадим Ильдарович Группа: 2309 Версия: 1.1.1
- Дата начала: 12.12.22 Дата окончания: нет*/
- #include <iostream>
- #include <iomanip>
- #include <random>
- #include <cstdlib>
- #include <cmath>
- #include <ctime>
- using namespace std;
- int main() {
- setlocale(LC_ALL, "ru");
- double a, b, x, y, nx, ny, new_x, new_y;
- int c = 0;
- cout << "Автор: Шарафутдинов Вадим Ильдарович" << setw(30) << "Группа: 2309" << "\n" << "Версия: 1.1.1 " << setw(30) << "Дата начала : 12.12.22" << setw(30) << "Дата окончания : нет" << endl;
- 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;
- cout << "Введите параметры прямоугольника (значение длины должно быть больше, чем ширины)" << endl;
- cout << "длина: " ;
- cin >> a;
- if (a <= 0) {
- cout << "Eror! Параметры прямоугольника должны иметь положительные значения!" << "\n" << "Введите значение длины заново" << endl;
- cin >> a;
- }
- cout << "ширина ";
- cin >> b;
- if (b <= 0) {
- cout << "Eror! Параметры прямоугольника должны иметь положительные значения!" << "\n" << "Введите знчение ширины заново" << endl;
- cin >> b;
- }
- if (a < b) {
- cout << "Eror! Вы указали неправильные параметры прямоугольника. Значение его длины должно быть больше значения ширины. " << endl;
- cout << "Введите значения заново" << endl;
- cout << "длина: ";
- cin >> a;
- if (a <= 0) {
- cout << "Eror! Параметры прямоугольника должны иметь положительные значения!" << "\n" << "Введите значение длины заново" << endl;
- cin >> a;
- }
- cout << "ширина ";
- cin >> b;
- if (b <= 0) {
- cout << "Eror! Параметры прямоугольника должны иметь положительные значения!" << "\n" << "Введите значение ширины заново" << endl;
- cin >> b;
- }
- }
- cout << "Введите координаты точки" << endl;
- cout << "По оси абцисс: ";
- cin >> x;
- cout << "По оси ординат: ";
- cin >> y;
- y = abs(y);
- x = abs(x);
- if (x > a) {
- c = x / a;
- x = x - (c * a);
- }
- srand(static_cast <unsigned> (time(0))); // Получаем любую возможную координату начала окружности
- double r2 = 0.0;
- r2 += fmod(rand(), (a - b)) + 1;
- r2 += (fmod(rand(), (a - b)) + 1) / 10.0;
- r2 += (fmod(rand(), (a - b)) + 1) / 100.0;
- r2 += (fmod(rand(), (a - b)) + 1) / 1000.0;
- cout << "Координата цетра окружности по оси абцисс: " << r2 + b / 2 + c*a << endl;
- if (y > b) { cout << "Не принадлежит"; }
- else if ((x >= r2) && (x <= b + r2) ) {
- nx = x - r2;
- ny = y;
- if (nx > b / 2) { new_x = nx / 2; }
- else if (nx == b / 2) { new_x = 0; }
- else { new_x = -(b / 2) + nx; }
- if (ny > b / 2) { new_y = ny / 2; }
- else if (ny == b / 2) { new_y = 0; }
- else { new_y = -(b / 2) + ny; }
- if (pow(new_x, 2) + pow(new_y, 2) <= pow(b / 2, 2)) {
- cout << "Не принадлежит";
- }
- else {
- cout << "Принадлежит";
- }
- return 0;
- }
- else { cout << "Принадлежит" << endl; }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement