| الموضوع السابق | الموضوع التالي |
الغرض
الحصول على رقم عنصر في مصفوفة ثنائية الأبعاد إذا تم ترقيم عناصرها ترقيماً تسلسلياً بدايةً من العنصر الواقع في الصف الأول و العمود الأول، و انتهاءً بالعنصر الواقع في الصف الأخير و العمود الأخير.
الصيغة
function ElementOrder(ColCount, Row, Col: Integer; Row1: Integer = 1; Col1: Integer = 1): Integer;
الوسائط (Parameters)
| ColCount | عدد الأعمدة في المصفوفة (البعد الثاني). | |
| Row | رقم الصف | |
| Col | رقم العمود | |
| Row1 | رقم الصف الأول (بداية البعد الأول). الافتراضي 1. | |
| Col1 | رقم العمود الأول (بداية البعد الثاني). الافتراضي 1. |
الشرح
في بعض البرامج - كالألعاب مثلاً - قد تحتاج أحياناً إلى معالجة عناصر مصفوفة ثنائية الأبعاد و كأنها مرقمة ترقيماً تسلسلياً بدايةً من العنصر الواقع في الصف الأول و العمود الأول، و انتهاءً بالعنصر الواقع في الصف الأخير و العمود الأخير (إذا اعتبرنا أن البعد الأول يمثل الصفوف و البعد الثاني يمثل الأعمدة)، كما في هذين المثالين:
| 1 | 2 | 3 | 4 | 5 | |||||||||||||||||||||
| 1 |
| ||||||||||||||||||||||||
| 2 | |||||||||||||||||||||||||
| 3 | |||||||||||||||||||||||||
| 4 | |||||||||||||||||||||||||
| -2 | -1 | 0 | 1 | 2 | |||||||||||||||||||||
| 5 |
| ||||||||||||||||||||||||
| 6 | |||||||||||||||||||||||||
| 7 | |||||||||||||||||||||||||
| 8 | |||||||||||||||||||||||||
نلاحظ أن العنصر المظلل يحمل الرقم التسلسلي 14. للحصول على هذا الرقم يكون استدعاء الدالة ElementOrder للنموذج الأول كالتالي:
ElementOrder(5, 3, 4);
لاحظ أننا أهملنا البارامترين الأخيرين (Row1 و Col1) و في هذه الحالة ستعتبر الدالة أن المصفوفة تبدأ بالعنصر (1, 1) و هو ما عليه المصفوفة الأولى.
أما الاستدعاء للمصفوفة الثانية فيكون بالشكل التالي:
ElementOrder(5, 3, 4, 5, -2);
حيث نحتاج إلى تحديد رقم الصف الأول (بداية البعد الأول) و رقم العمود الأول (بداية البعد الثاني).
في كل الأحوال الدالة تبدأ الترقيم دائماً بالرقم 1.
أعلى الصفحة
| الموضوع السابق | الموضوع التالي |