مقدمة & nbsp؛
في كثير من الأحيان ، عند التعامل مع أي معلومات ، يتعين عليك التعامل مع البيانات المجدولة. غالبًا ما تعمل البرامج الحديثة مع هذه البيانات. أبسط مثال على ذلك هو برمجة الألعاب على لوحة مربعات: tic-tac-toe ، الشطرنج ، لعبة الداما ، إلخ.
في الرياضيات ، تسمى هذه الهياكل المصفوفات.
نبسب ؛
المصفوفة strong> عبارة عن جدول مستطيل مكون من عناصر من نفس النوع (أرقام ، سلاسل ، إلخ. .) div>
يمكن تخزين مثل هذه البيانات في باسكال ومعالجتها كمصفوفات ثنائية الأبعاد - "مصفوفات المصفوفات".
لمعالجة البيانات الموجودة في الجدول ، من الضروري تذكر حالة كل خلية (خلية). تحتوي كل خلية على رقمين: رقم صف ورقم عمود.
في المصفوفة ، يحتوي كل عنصر على مؤشرين: أولاً يتم الإشارة إلى رقم الصف ، ثم رقم العمود. يبدأ ترقيم الصفوف والأعمدة من الصفر.
على سبيل المثال ، العنصر أ [1] [2] هو العنصر الموجود في الصف الثاني والعمود الثالث.
تمامًا كما هو الحال مع المصفوفات العادية (القوائم) ، من أجل العمل مع المصفوفات ، تحتاج إلى تعلم كيفية إنشاءها وإدخالها ومعالجتها وعرضها.
نبسب ؛
إنشاء المصفوفة h5>
مهمة h6>
أنشئ في الذاكرة مصفوفة بالحجم المحدد مليئة بالأصفار. tt>
لإنشاء مصفوفة بشكل صحيح ، تحتاج إلى إجبار المترجم على إنشاء كل السلاسل في الذاكرة ككائنات مختلفة.
للقيام بذلك ، يجب عليك أولاً إنشاء مصفوفة فارغة ، ثم تحديد عدد الصفوف في المصفوفة ، ثم تحديد عدد العناصر في كل صف باستخدام طريقة
setLength ()
في حلقة:
ن: = 3
م: = 2
setLength (A ، N) ؛
بالنسبة إلى i: = 0 إلى N - 1 do
نبسب ؛ setLength (A [i]، M)؛
& nbsp؛
تعبئة المصفوفة بقيم عشوائية h5>
بعد إنشاء مصفوفة ، يمكنك ملؤها بقيم عشوائية. نظرًا لأن كل عنصر يحتوي على مؤشرين ، فمن الضروري استخدام حلقات متداخلة
بالنسبة إلى i: = 0 إلى N تبدأ
بالنسبة إلى j: = 0 إلى M تبدأ
أ [i] [j]: = ...
نبسب ؛ نهاية؛
نهاية؛
نبسب ؛
عرض المصفوفة h5>
عادةً ما تُستخدم حلقتان متداخلتان لمعالجة القائمة وعرضها. الدورة الأولى برقم السطر ، والدورة الثانية بواسطة العناصر الموجودة داخل السطر.
من أجل عرض المصفوفة سطراً بسطر ، وفصل الأرقام بمسافات في سطر واحد ، & nbsp ؛ تحتاج إلى كتابة الجزء التالي: p>
بالنسبة إلى i: = 0 إلى length (A) - 1 هل تبدأ // length (A) - تُرجع عدد الصفوف في المصفوفة A
نبسب ؛ نبسب ؛ بالنسبة إلى j: = 0 إلى length (A [i]) - 1 do // length (A [i]) - تُرجع عدد العناصر في السلسلة i
نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ اكتب (a [i] [j] ، & # 39 ؛ & # 39 ؛) ؛
نبسب ؛ نبسب ؛ writeln () ؛ // قم بعمل سطر جديد بعد عرض السطر
نهاية؛
هي نفسها ، ولكن ليس حسب الفهرس ، ولكن حسب قيم القائمة (يمكن للحلقة for أن تتكرر على جميع العناصر في القائمة (المصفوفة) ، السلسلة): p>
للصف في ابدأ // كرر على جميع صفوف المصفوفة أ
نبسب ؛ نبسب ؛ بالنسبة إلى العنصر في الصف ، قم بإجراء // حلقة خلال جميع العناصر في الصف
نبسب ؛ نبسب ؛ نبسب ؛ نبسب ؛ اكتب (elem ، & # 39 ؛ & # 39 ؛) ؛
نبسب ؛ نبسب ؛ writeln () ؛
النهاية ؛ pre>
Problem
املأ مصفوفة ثنائية (تتكون من الأصفار والآحاد فقط) في نمط رقعة الشطرنج. يجب أن يكون هناك عنصر فارغ في الزاوية اليسرى العليا.
على & nbsp؛
إدخال strong>
تحتوي سلسلة الإدخال على أبعاد مفصولة بمسافات للمصفوفة: عدد الصفوف & nbsp؛ N
& nbsp؛ وعدد الأعمدة & nbsp؛ M
& nbsp؛ (& nbsp؛ 1 & thinsp؛ & lt؛ = & nbsp؛ N & nbsp؛، & nbsp؛ M & lt؛ = & nbsp؛ 100 & nbsp؛).
على & nbsp؛
بيانات النشر strong>
يجب على البرنامج إخراج مصفوفة ثنائية صف صف.
على & nbsp؛
أمثلة h6>
# |
إدخال |
الإخراج |
<الجسم>
1 |
4 5 |
<قبل>
0 1 0 1 0
1 0 1 0 1
0 1 0 1 0
1 0 1 0 1
|