Sign in
or
Register
Courses
Textbook
Compiler
Contests
Topics
Courses
C ++. تخزين البيانات ومعالجتها
صفائف ثنائية الأبعاد. الأساسيات
Module:
صفائف ثنائية الأبعاد. الأساسيات
Problem
1
/11
صفائف ثنائية الأبعاد. مقدمة
Theory
Click to read/hide
صفيف ثنائي الأبعاد h3>
المصفوفة ثنائية الأبعاد strong>
عبارة عن مصفوفة تحتوي على فهارس كل عنصر (غالبًا ما يتم استدعاء هذه المصفوفات بكلمة واحدة -
مصفوفة strong>
). & nbsp؛
من الملائم تخزين ومعالجة البيانات الجدولية المختلفة في مصفوفة. مثل أي جدول يتكون من صفوف وأعمدة ، تتكون المصفوفات من صفوف وأعمدة.
من أجل الوضوح ، يمكنك تمثيل مصفوفة مثل هذا:
على الرغم من أنه في الواقع ، في ذاكرة الكمبيوتر ، ستبدو المصفوفة كما يلي:
لاستخدام مصفوفة في برنامج ما ، يجب التصريح عنها تمامًا مثل المصفوفة العادية ، مع تحديد نوع البيانات وحجمين (أرقام أو ثوابت). من الممكن أيضًا (ومن المرغوب فيه) تعيين القيم الأولية على الفور. على سبيل المثال ، قم بإعادة تعيين جميع العناصر.
المثال الأول: strong>
إعلان مصفوفة من 3 صفوف و 3 أعمدة بقيم أولية عشوائية <قبل> intA [3] [3] = {{0،1،2} ، {3،4،5} ، {6،7،8}} ،
المثال الثاني: strong>
إعلان مصفوفة من 5 صفوف و 10 أعمدة (يتم تعيين الحجم عبر ثابت) بقيم أولية صفرية <قبل> const int N = 5 ، M = 10 ؛ مزدوج B [N] [M] = {} ؛ للإشارة إلى عنصر محدد من المصفوفة ، نستخدم زوجين من الأقواس ، في القوس الأول نشير إلى رقم الصف ، في الثاني - رقم العمود.
مثال: strong>
& nbsp؛ & nbsp؛ <قبل> أ [0] [2] = 100 ؛ // ترقيم الصفوف والأعمدة يبدأ من الصفر pre>
ملء المصفوفة وعرضها h3> من أجل اجتياز المصفوفة بأكملها ، يلزم وجود حلقة متداخلة. لنلق نظرة على ملء وإخراج مصفوفة باستخدام مثال برنامج يطلب قيم العناصر من لوحة المفاتيح ويعرض ببساطة المصفوفة المعبأة على الشاشة. <قبل> # تضمين & lt؛ iostream & gt؛ استخدام اسم للمحطة؛ انت مين() { / * التصريح عن مصفوفة ثنائية الأبعاد * / const int N = 2 ، M = 3 ؛ int A [N] [M] ؛ / * املأ عناصر المصفوفة من لوحة المفاتيح سطراً بسطر * / int أنا ، ي ؛ لـ (i = 0 ؛ i & lt ؛ N ؛ i ++) لـ (j = 0 ؛ j & lt ؛ M ؛ j ++) سينما & GT ؛ & GT. أ [i] [ي] ؛ // عرض جميع عناصر المصفوفة على الشاشة سطرًا سطرًا لـ (i = 0؛ i & lt؛ N؛ i ++) {// الحلقة الخارجية مسؤولة عن التكرار فوق الصفوف لـ (j = 0؛ j & lt؛ M؛ j ++) // حلقة لعرض عناصر السلسلة كوت & lt؛ & lt؛ أ [i] [j] & lt؛ & lt؛ & quot؛ & quot ؛؛ كوت & lt؛ & lt؛ نهاية. // بعد عرض عناصر السطر j ، ننتقل إلى سطر جديد } العودة 0 ؛ } في المثال أعلاه ، يتم ملء وعرض المصفوفة صفًا تلو الآخر (نمر أولاً بجميع القيم
j
- فهرس الأعمدة ، وبعد ذلك فقط يتغير فهرس الصف - <قوي > ط strong>)
من خلال تبديل الحلقات (الداخلية مع الخارجية) ، يمكنك تعبئة و / أو إخراج مصفوفة بالأعمدة
Problem
أكمل البرنامج الذي يملأ مصفوفة NxM من لوحة المفاتيح ويعرضها سطراً بسطر (5 & lt ؛ = N ، M & lt ؛ = 100).
1000
ms
256 Mb
Rules for program design and list of errors in automatic problem checking
Teacher commentary