بکندباز

تابعی بنویسید که لیستی از ۴ جفت مختصات (تاپل) دریافت کند. هر جفت شامل دو عدد است که نشان‌دهنده مختصات 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);

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*

تمرینات مرتبط