المصفوفة

المصفوفة

متوسط

التعليمات

إذا أُعطيت سلسلة نصية تمثّل مصفوفة من الأعداد، فأرجِع صفوف تلك المصفوفة وأعمدتها.

إذن، إذا أُعطيت سلسلة نصية مضمَّن فيها أسطر جديدة مثل:

9 8 7
5 3 2
6 6 7

وهي تمثّل هذه المصفوفة:

    1  2  3
  |---------
1 | 9  8  7
2 | 5  3  2
3 | 6  6  7

فينبغي أن يكون الكود الخاص بك قادرًا على إنتاج ما يلي:

  • مصفوفة من الصفوف، تُقرأ كل صف من اليسار إلى اليمين بينما ننتقل من أعلى إلى أسفل عبر الصفوف،
  • ومصفوفة من الأعمدة، تُقرأ كل عمود من أعلى إلى أسفل بينما ننتقل من اليسار إلى اليمين.

صفوف مصفوفتنا في المثال:

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

وأعمدتها:

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

تحديات

  • هل يمكنك تنفيذ هذا الحل دون استخدام أي حلقات for؟ (أي باستخدام المكرِّرات بدلًا منها)
  • رغم أن وجود بنيتي بيانات في Matrix (إحداهما تمثّل الصفوف والأخرى تمثّل الأعمدة) أمر بسيط نسبيًا، هل يمكنك تنفيذ هذا الحل دون أن تحتفظ بنسختين منفصلتين من المدخلات في struct الخاص بك؟

طرق مفيدة

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Rust Exercism

مستعد لبدء المصفوفة؟

سجّل في Exercism لتتعلّم وتتقن Rust عبر 99 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.