Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Программа, определяющая, принадлежит ли точка фигуре, расположенной на координатной плоскости
- #include <iostream>
- using namespace std; // все имена принадлежат пространству имён std
- int R, x, y; //R - радиус окружности, x1, y1 - координаты точки, описываем их как глобальные переменные - а почему бы нет?
- void Fn1 (int R); // объявляем функцию, принимающую целочисленное значение и ничего не возвращающую
- int main ()
- {
- int i=0; // i - переменная для работы с циклом присваиваем нолик
- setlocale(LC_CTYPE,""); // русификатор :)
- while (i!=2) // пока переменная не равна 2... (условие выхода из цикла такого, что цикл выполнится хотя бы 1 раз)
- {
- cout << "Введите значение радиуса окружности:"<<endl; //запрос на получение значения радиуса
- cin >> R; //считываем значение радиуса с клавы
- Fn1(R); //передаём его в качестве параметра в функцию
- cout << "Продолжить работу?"<<endl<<"1 - да"<<endl<<"2 - нет"<<endl; //после выполнения функции выводим запрос на продолжение работы
- cin >> i; //считываем ответ в переменную
- system("cls"); // снова некросплатформенно чистим экран
- }
- return 0;
- }
- void Fn1 (int R) //Тело функции описывается под основной функцией
- {
- system("cls"); //чистим экран, увы, некросплатформенно
- cout << "Введите координаты точки: х, у"<<endl; //просим ввести координаты точки
- cin >> x; // считываем х
- cout << endl; // спускаемся на строчку ниже, просто для красоты))
- cin >> y; // считываем у
- system("cls"); // снова некросплатформенно чистим экран
- //=================================================================
- if ((y>=0)&&(x>=0)) //Обработка 1-го сегмента - 1-й четверти координатной плоскости; если значения х и у положительны
- {
- if ((y*y+x*x)<=(R*R)) //если сумма квадратов координат точек меньше квадрата радиуса
- {
- cout << "Принадлежит"<<endl; //то принадлежит
- }
- else //если больше
- {
- cout << "Не принадлежит"<<endl; //то не принадлежит
- }
- }
- //=================================================================
- if ((y<0)&&(x>=0)) //Обработка 2-го сегмента - 2-й четверти координатной плоскости; если значения х положительно, но значение у отрицательно
- {
- if ((y*y+x*x)<=(R*R)) //если сумма квадратов координат точек меньше квадрата радиуса
- {
- cout << "Принадлежит"<<endl; //то принадлежит
- }
- else //если больше
- {
- cout << "Не принадлежит"<<endl; //то не принадлежит
- }
- }
- //=================================================================
- if ((y<0)&&(x<0)) //Обработка 3-го сегмента - 3-й четверти координатной плоскости; если значения
- {
- if ((y*y+x*x)<=(R*R)) //если сумма квадратов координат точек меньше квадрата радиуса
- {
- cout << "Принадлежит"<<endl; //то принадлежит
- }
- else //если больше
- {
- cout << "Не принадлежит"<<endl; //то не принадлежит
- }
- }
- //=================================================================
- if ((y>=0)&&(x<0)) //Обработка 4-го сегмента - 4-й четверти координатной плоскости; если значения у положительно, а х - отрицательно
- {
- if (y<x+R) //если координата у данной точки меньше координаты у для точки с аналогичным значением х принадлежащей прямой
- {
- cout << "Принадлежит"<<endl; //то принадлежит
- }
- else //если больше
- {
- cout << "Не принадлежит"<<endl; //то не принадлежит
- }
- }
- cin.sync();
- cin.clear();
- cin.get();
- system("cls"); //снова чистим экран
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement