فرض کنید رشتهای دارید که نمایانگر یک ماتریس از اعداد است. سطرها و ستونهای آن ماتریس را برگردانید.
حالا رشتهای را در نظر بگیرید که در آن خطوط جدید جاسازی شدهاند، مانند:
9 8 7
5 3 2
6 6 7
که نمایانگر این ماتریس است:
1 2 3
|---------
1 | 9 8 7
2 | 5 3 2
3 | 6 6 7
Code شما باید بتواند موارد زیر را بیرون بدهد:
سطرهای ماتریس نمونهی ما:
و ستونهای آن:
برای تکمیل این تمرین باید نوع دادهی Matrix را همراه با نمونههای Eq و Show بسازید و توابع زیر را پیادهسازی کنید:
colscolumnflattenfromListfromStringreshaperowrowsshapetransposeیک اعلان دادهی ساختگی و امضاهای نوع از قبل در جای خود قرار دارند، اما تعریف این توابع و ساختن یک نوع داده، newtype یا type synonym معنادار بر عهدهی خودتان است.
اعتبارسنجی ورودی لازم نیست. اگر ماتریس مستطیلی نباشد، کاراکتر نامعتبری دیده شود و از این قبیل موارد، بگذارید خطا بدهد.
shape برابر (rows, cols) است.