Определить в какой четверти круг находится точка - 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; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д