تابعی بنویسید که لیستی از ۴ جفت مختصات (تاپل) دریافت کند. هر جفت شامل دو عدد است که نشاندهنده مختصات x و y یک نقطه در صفحه دکارتی هستند. تابع باید بررسی کند که آیا این ۴ نقطه یک مستطیل را تشکیل میدهند یا خیر. اگر این نقاط یک مستطیل تشکیل دهند، مقدار True
و در غیر این صورت مقدار False
برگردانید.
نمونه ورودی و خروجی
IsRectangle([(-1, -2), (-1, 3), (1, -1), (-3, 2)]) ➞ True
IsRectangle([(-1, -2), (-1, -2), (1, -1), (-3, 2)]) ➞ False
IsRectangle([(7, 4), (1, -2), (1, 4), (7, -2)]) ➞ True
نکات
- مستطیل یک چهارضلعی است که دارای ۴ زاویه قائمه (۹۰ درجه) است.
- مربع نیز نوع خاصی از مستطیل است که در آن تمام اضلاع برابر هستند.
- مختصات نقاط ممکن است تکراری باشند، که در این صورت مستطیل تشکیل نمیشود.
- مستطیل میتواند عمودی، افقی یا به صورت مورب باشد.
EXPECT_EQ(IsRectangle({{-1, -2}, {-1, 3}, {1, -1}, {-3, 2}}), true); EXPECT_EQ(IsRectangle({{-1, -2}, {-1, -2}, {1, -1}, {-3, 2}}), false); EXPECT_EQ(IsRectangle({{7, 4}, {1, -2}, {1, 4}, {7, -2}}), true); EXPECT_EQ(IsRectangle({{-3, 2}, {8, -1}, {7, 4}, {-2, -3}}), true); EXPECT_EQ(IsRectangle({{-3, 2}, {8, -1}, {7, 4}, {-4, 7}}), false); EXPECT_EQ(IsRectangle({{7, 4}, {1, -2}, {1, 3}, {7, -1}}), false); EXPECT_EQ(IsRectangle({{0, 8}, {-1, 7}, {7, -1}, {8, 0}}), true); EXPECT_EQ(IsRectangle({{0, 8}, {1, 9}, {7, -1}, {8, 0}}), false);
نظرات