![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 22.10.2021
Сообщений: 34
|
![]()
class Rectangle
{ public Rectangle(int x, int y, int shirina, int dlina) { this.X = x; this.Y = y; this.Width = shirina; this.Height = dlina; } public int X { get; set; } // метод считывания и присвоения public int Y { get; set; } public int Width { get; set; } public int Height { get; set; } public void Offset(int x, int y) // смещение Х и У { X += x; Y += y; } public static Rectangle Peresechenie(Rectangle a, Rectangle b) // метод пересечения прямоугольников { int maxStartX = Math.Max(a.X, b.X); int minEndX = Math.Min(a.X + a.Width, b.X + b.Width); int MaxStartY = Math.Max(a.Y, b.Y); int minEndY = Math.Min(a.Y + a.Height, b.Y + b.Height); if (minEndX >= maxStartX && minEndY >= MaxStartY) { return new Rectangle(maxStartX, MaxStartY, minEndX - maxStartX, minEndY - MaxStartY); } return null; } public static Rectangle Obedinenie(Rectangle a, Rectangle b) // метод объединения прямоугольников { int minStartX = Math.Min(a.X, b.X); int maxEndX = Math.Max(a.X + a.Width, b.X + b.Width); int minStartY = Math.Min(a.Y, b.Y); int MaxEndY = Math.Max(a.Y + a.Height, b.Y + b.Height); return new Rectangle(minStartX, minStartY, maxEndX - minStartX, MaxEndY - minStartY); } public override string ToString() { return String.Format("X:{0} Y:{1} W:{2} H:{3}", X, Y, Width, Height); } } class Program { static void Main(string[] args) { Console.WriteLine("Первый прямоугольник"); Console.Write("Введите Х: "); int x = Convert.ToInt32(Console.ReadLine()) ; Console.Write("Введите У: "); int y = Convert.ToInt32(Console.ReadLine()) ; Console.Write("Введите ширину первого прямоугольника: "); int shirina = Convert.ToInt32(Console.ReadLine()) ; Console.Write("Введите высоту первого прямоугольника: "); int visota = Convert.ToInt32(Console.ReadLine()) ; Rectangle r1 = new Rectangle(x, y, shirina, visota); r1.Offset(5, 0); // смещение Console.WriteLine("Второй прямоугольник"); Console.Write("Введите Х2: "); int x2 = Convert.ToInt32(Console.ReadLine()) ; Console.Write("Введите У2: "); int y2 = Convert.ToInt32(Console.ReadLine()) ; Console.Write("Введите ширину второго прямоугольника: "); int shirina2 = Convert.ToInt32(Console.ReadLine()) ; Console.Write("Введите высоту второго прямоугольника: "); int visota2 = Convert.ToInt32(Console.ReadLine()) ; Rectangle r2 = new Rectangle(x2, y2, shirina2, visota2); Console.Write("Пересечение прямоугольников: " + Rectangle.Peresechenie(r1, r2)); Console.Write("\nОбъединение прямоугольников: " + Rectangle.Obedinenie(r1, r2)); Console.ReadKey(); } } |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно перечислить все проблемы, которые присутствуют в данном коде | yura91 | Общие вопросы по Java, Java SE, Kotlin | 6 | 09.07.2016 01:37 |
в данном примере проблема в Function или Sub? | 4anae6 | Microsoft Office Excel | 4 | 19.04.2013 20:46 |
в данном коде почему то | dmitryogibalov | Помощь студентам | 2 | 10.11.2012 20:22 |
Есть ли ошибка в данном фрагменте? (Ассемблер) | Alex_12Proxy | Помощь студентам | 4 | 13.05.2012 18:21 |
не работает count(&users) - В ДАННОМ КОДЕ | Дмитрий_Попов | PHP | 1 | 09.02.2012 21:51 |