السلام عليكم ورحمة الله وبركاته
أحد اجزاء البرنامج الذي اكتبه حالياً يحتوي على مشكلة لم اتمكن من تحدديها وحلها بالشكل الأمثل.
لتسهيل الموضوع: لنفرض وجود مصفوفة two-dimensional array من نوع integer .
int[] array = {1,1};
وأريد ان استخرج ال 4 حالات الممكنه (steps) وذلك ب إضافة الرقم 1 لكل dimension .
باختصار، أريد الحصول على التالي:
[1,2]
[2,1]
[2,2]
والحالة الاساسية [1,1]
حاليا، اقوم بذلك بشكل يدوي، عن طريق زيادة البعد الاول، ثم طباعه المصفوفة، ثم إرجاع القيم إلى حالتها الأصلية، ثم زيادة البعد الثاني وطباعه المصفوفة، ثم زيادة البعد الأول وطباعه المصفوفة.
المشكلة انه عند الانتقال الى 3 أبعاد ، فاحتاج الى كتابة العديد من الأسطر!
والمطلوب ان أعمل ذلك على مصفوفات ذات 5 ابعاد !
حاولت ان اقوم بعمل nested-loops لكن لم استطع الحصول على خوارزمية او منطق برمجي ..
هل بالامكان المساعدة؟