Определить в какой четверти круг находится точка - C#
Формулировка задачи:
Не получается вывести четверть, в которой находится точка, если не сложно помогите.
Листинг программы
- ////12. Описать два класса, представляющие точку и круг. Предусмотреть методы для
- ////создания объектов и проверки попадания точки внутрь круга. Описать свойство (только
- ////для чтения) для получения состояния точки. При невозможности построения круга
- ////генерируется исключение. Определить в какой четверти находится точка.
- using System;
- using System.Collections.Generic;
- using System.Text;
- class Krug
- {
- double x, y, r;
- public Krug() // конструктор без параметров
- {
- Console.WriteLine("Введите координату x центра окружности = ");
- x = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Введите координату y центра окружности = ");
- y = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Введите радиус = ");
- r = Convert.ToInt32(Console.ReadLine());
- }
- public Krug(double x, double y, double r) //конструктор с параметрами
- {
- this.x = x;
- this.y = y;
- if (r < 0) except();
- this.r = r;
- }
- public bool Proverka(Tochka tchk) //проверка
- {
- if (Math.Pow((x - tchk.X), 2) + Math.Pow((y - tchk.Y), 2) <= Math.Pow(r, 2))
- {
- Console.WriteLine("Точка находится в окружности");
- return true;
- }
- else
- {
- return false;
- }
- }
- public int Kvadrant(Tochka tchk) // определение четверти
- {
- if ((tchk.X > 0) && (tchk.Y > 0)) return 1;
- if ((tchk.X > 0) && (tchk.Y < 0)) return 2;
- if ((tchk.X < 0) && (tchk.Y > 0)) return 3;
- if ((tchk.X < 0) && (tchk.Y < 0)) return 4;
- else
- return -1;
- }
- public void except() // генерирование исключения
- {
- throw new Exception("Недопустимые значения полей!");
- }
- }
- class Tochka
- {
- int x1, y1;
- public Tochka()
- {
- Console.WriteLine("Введите координату x точки ");
- x1 = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Введите координату y точки ");
- y1 = Convert.ToInt32(Console.ReadLine());
- }
- public Tochka(int x1, int y1)
- {
- this.x1 = x1;
- this.y1 = y1;
- }
- public int X // свойство
- {
- get { return x1; }
- }
- public int Y // свойство
- {
- get { return y1; }
- }
- public void except() // генерирование исключения
- {
- throw new Exception("Недопустимые значения полей!");
- }
- }
- class Program
- {
- static void Main()
- {
- try // создаём 2 объекта
- {
- Krug t1 = new Krug(); //создание объекта t1
- Tochka t2 = new Tochka();
- t1.Proverka(t2);
- t1.Kvadrant(t2);
- }
- catch (Exception ex) // если попытка не удалась
- {
- Console.WriteLine(ex.Message);
- return;
- }
- finally // выполняется в любом случае
- {
- Console.WriteLine("Спасибо за использование нашего ПО!");
- Console.ReadLine();
- }
- }
- }
Решение задачи: «Определить в какой четверти круг находится точка»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace l5
- {
- class Program
- {
- static void Main(string[] args)
- {
- try
- {
- Point p = new Point();// объект класса точка
- Krug k = new Krug();// объект класса круг
- Console.WriteLine("Введите координату x оси круга ");
- k.X = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Введите координату y оси круга ");
- k.Y = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Введите радиус круга ");
- k.R = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Введите координату x точки ");
- p.X1 = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Введите координату y точки");
- p.Y1 = Convert.ToInt32(Console.ReadLine());
- Console.WriteLine("Точка входит в круг: {0}", k.Proverka(p));
- Console.WriteLine("Точка находится в квадранте № {0} ", + k.Kvadrant(p));
- }
- catch (Exception ex) // если попытка не удалась
- {
- Console.WriteLine(ex.Message);
- return;
- }
- finally // выполняется в любом случае
- {
- Console.WriteLine();
- Console.WriteLine("Спасибо за использование нашего ПО!");
- Console.ReadLine();
- }
- Console.ReadKey();
- }
- }
- class Point // класс точка
- {
- int x1, y1;
- public Point()// Пустой конструктор
- {
- x1 = 0;
- y1 = 0;
- }
- public Point (int x1, int y1)// Конструктор с параметрами
- {
- this.x1=x1;
- this.y1=y1;
- }
- public int X1 // свойство
- {
- set { x1 = value; }
- get { return x1; }
- }
- public int Y1 // свойство
- {
- set { y1 = value;}
- get { return y1; }
- }
- }
- class Krug // класс круг
- {
- int x, y, r;
- public Krug() // Пустой конструктор
- {
- x = 0; y = 0; r = 0;
- }
- public Krug(int x, int y, int r) // Конструктор с параметрами
- {
- this.x = x;
- this.y = y;
- if (r <= 0) except();
- this.r = r;
- }
- public void except()
- {
- throw new Exception("Недопустимое значение радиуса!!!");
- }
- public int X
- {
- set { x = value; }
- get { return x; }
- }
- public int Y
- {
- set { y = value; }
- get { return y; }
- }
- public int R
- {
- set { r = value; }
- get { return r; }
- }
- public bool Proverka(Point tchk) //проверка
- {
- if (Math.Pow((x - tchk.X1), 2) + Math.Pow((y - tchk.Y1), 2) <= Math.Pow(r, 2))
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- public int Kvadrant(Point t)// определение квадранта
- {
- if ((t.X1 > 0) && (t.Y1> 0))
- return 1;
- if ((t.X1 < 0) && (t.Y1 > 0))
- return 2;
- if ((t.X1 < 0) && (t.Y1 < 0))
- return 3;
- if ((t.X1 > 0) && (t.Y1 < 0))
- return 4;
- else return 0;
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д