أحادية الأبعاد وثنائية الأبعاد
الدرس 5 من 26 في دورة المصفوفات في C++ على Coddy.
المصفوفة أحادية الأبعاد هي أبسط أنواع المصفوفات حيث يتم تخزين العناصر خطياً بطريقة مستقيمة ويمكن الوصول إليها بشكل فردي.
كما رأينا في درس أنواع المصفوفات، يمكننا إنشاء مصفوفة من أي نوع بيانات. المصفوفات ثنائية الأبعاد لا تختلف ويمكنها أن تحتوي على نوع واحد من البيانات. كل عنصر داخل المصفوفات ثنائية الأبعاد هو مصفوفة أحادية الأبعاد. تسمى المصفوفات ثنائية الأبعاد أيضاً بالمصفوفة (Matrix) (مصطلح رياضي).
على سبيل المثال،
[[1,2,3],
[4,5,6],
[7,8,9]]
هنا يمكننا أن نرى أن العنصر الأول هو مصفوفة أخرى بحجم 3: [1,2,3].
للتصريح عن مثل هذه المصفوفة، بدلاً من إعطاء الحجم خطياً فقط، يتعين علينا تخصيص الذاكرة مع مراعاة الأعمدة والصفوف.
مثال
int arr[m][n];
هنا تحتوي هذه المصفوفة على بُعدين. m من الصفوف و n من الأعمدة.
من أجل ملء قيم المدخلات داخل مصفوفة ثنائية الأبعاد، نستخدم حلقة متداخلة (nested loop). وينطبق الشيء نفسه على إخراج النتيجة.
//الإدخال
int arr[m][n];
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
cin>>arr[i][j];
}
}//الإخراج
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
cout<<arr[i][j]<<" ";
}
}التحدي
أدخل مصفوفة تحتوي على m من الصفوف و n من الأعمدة (يتم توفيرها من قبل المستخدم) وقم بطباعة عناصر المصفوفة بعد إضافة 5 إلى كل عنصر من عناصرها.
جرّب بنفسك
#include<iostream>
using namespace std;
int main(){
//Write your code here
return 0;
}