ماتریس

ماتریس

متوسط

دستورالعمل‌ها

فرض کنید رشته‌ای دارید که نمایانگر یک ماتریس از اعداد است. سطرها و ستون‌های آن ماتریس را برگردانید.

حالا رشته‌ای را در نظر بگیرید که در آن خطوط جدید جاسازی شده‌اند، مانند:

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 شما باید بتواند موارد زیر را بیرون بدهد:

  • فهرستی از سطرها، به این ترتیب که هر سطر از چپ به راست خوانده می‌شود و سطرها از بالا به پایین پیمایش می‌شوند،
  • فهرستی از ستون‌ها، به این ترتیب که هر ستون از بالا به پایین خوانده می‌شود و ستون‌ها از چپ به راست پیمایش می‌شوند.

سطرهای ماتریس نمونه‌ی ما:

  • 9، 8، 7
  • 5، 3، 2
  • 6، 6، 7

و ستون‌های آن:

  • 9، 5، 6
  • 8، 3، 6
  • 7، 2، 7

چالش‌ها

  • آیا می‌توانید این راه‌حل را بدون استفاده از هیچ حلقه‌ی for پیاده‌سازی کنید؟ (یعنی به‌جای آن از تکرارگرها استفاده کنید)
  • داشتن دو ساختار داده در Matrix نسبتاً سرراست است (یکی برای نمایش سطرها و دیگری برای ستون‌ها). اما آیا می‌توانید این راه‌حل را بدون اینکه مجبور باشید دو نسخه‌ی جداگانه از ورودی را در ساختار خودتان نگه دارید، پیاده‌سازی کنید؟

متدهای مفید

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Rust Exercism

آماده‌اید ماتریس را شروع کنید؟

در Exercism ثبت‌نام کنید تا Rust را همراه با 99 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.