Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2021, 18:30   #1
Radon33
Пользователь
 
Регистрация: 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();
}
}
Radon33 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно перечислить все проблемы, которые присутствуют в данном коде 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