متجه ثنائي الأبعاد في C ++

2 Dimensional Vector C



يتم استخدام المتجه لإنشاء مصفوفة ديناميكية ويمكن زيادة حجم المتجه وتقليله عن طريق إضافة عناصر وإزالتها من المتجه. عندما يتم الإعلان عن متجه داخل متجه آخر ، فإن المتجه يسمى متجه ثنائي الأبعاد يعمل كمصفوفة ثنائية الأبعاد. يحتوي المتجه ثنائي الأبعاد على عدة أعداد من الصفوف حيث يكون كل صف متجهًا آخر. تم عرض استخدامات المتجه ثنائي الأبعاد في C ++ في هذا البرنامج التعليمي.

بناء الجملة:

فيما يلي بناء جملة المتجه ثنائي الأبعاد.







المتجه<المتجه<نوع البيانات>>اسم_المتجه؛

يتم تحديد نوع بيانات معين في وقت إعلان المتجه. إذا لم يتم تحديد حجم المتجه ، فإن المتجه يسمى متجه فارغ. يمكن تغيير حجم المتجه باستخدام طرق مختلفة أو تهيئة المتجه.



مثال 1: قم بإنشاء متجه ثنائي الأبعاد لعدد متساوٍ من الأعمدة

يوضح المثال التالي طريقة إعلان متجه ثنائي الأبعاد لثلاثة صفوف وأربعة أعمدة تحتوي على بيانات شخصية. هنا ، تم تحديد قيم المتجه في وقت إعلان المتجه و ' ل تم استخدام 'loop لطباعة قيم المتجه.



// تضمين المكتبات الضرورية

#يشمل

#يشمل

استخدام اسم للمحطة؛
intالأساسية()
{
/ *
نعلن متجه ثنائي الأبعاد
من الشخصيات
* /

المتجه<المتجه>ناقل
{{'إلى'و 'ب'و 'ج'و 'د'}و {'و'و 'F'و 'ز'و 'ح'}و {'أنا'و 'ي'و 'إلى'و 'ال'}}؛
// اطبع قيم المتجه
كلفة<< قيم المتجه هي:ن'؛
ل (intأنا= 0؛أنا<ناقل.بحجم()؛أنا++)
{
ل (intي= 0؛ي<ناقل[أنا].بحجم()؛ي++)
كلفة<<ناقل[أنا][ي] << '؛
كلفة<< 'ن'؛
}
إرجاع 0؛
}

انتاج:





سيظهر الإخراج التالي بعد تنفيذ الكود أعلاه.



مثال 2: قم بإنشاء متجه ثنائي الأبعاد بعدد مختلف من الأعمدة

يوضح المثال التالي طريقة إعلان متجه ثنائي الأبعاد لأربعة صفوف حيث يحتوي الصف الأول على عمود واحد والصف الثاني يحتوي على عمودين والصف الثالث يحتوي على ثلاثة أعمدة والصف الرابع يحتوي على أربعة أعمدة. تم تهيئة المتجه ببيانات العدد الصحيح وطباعته باستخدام ' ل ' حلقة.

// تضمين المكتبات الضرورية

#يشمل

#يشمل

استخدام اسم للمحطة؛

intالأساسية()
{
/ *
قم بتهيئة المتجه ثنائي الأبعاد باستخدام امتداد
عدد صحيح حيث يحتوي كل صف على مختلف
عدد العناصر
* /

المتجه<المتجه>intVector
{{عشرين}و {10و 30}و {خمسونو 40و 60 }و {80و 10و 70و 90 }}؛
// اطبع قيم المتجه باستخدام حلقة for
كلفة<< قيم المتجه هي:ن'؛
ل (فكتوررو:intVector)
{
ل (intساعة:صف)
كلفة<<ساعة<< '؛
كلفة<< 'ن'؛
}
إرجاع 0؛
}

انتاج:

سيظهر الإخراج التالي بعد تنفيذ الكود أعلاه.

مثال 3: تهيئة متجه فارغ ثنائي الأبعاد بالقيمة الافتراضية

تم توضيح طريقة إعلان متجه فارغ ثنائي الأبعاد لرقم عائم وتهيئة المتجه برقم عائم في المثال التالي. هنا ، تم استخدام حلقة 'for' المتداخلة لإدخال البيانات في المتجه باستخدام الدفع () وظيفة وطباعة قيم المتجه.

تم إدراج القيمة الافتراضية 6.5 في المتجه بإنشاء صفين و 3 أعمدة. ال بحجم() تم استخدام الوظيفة لحساب إجمالي الصفوف والأعمدة لطباعة قيم المتجه.

// تضمين المكتبات الضرورية

#يشمل

#يشمل

استخدام اسم للمحطة؛

intالأساسية()
{
// تعيين القيمة الافتراضية
تطفوالقيمة الافتراضية= 6.5؛
// تحديد المتجه الخارجي
المتجه<المتجه>خارج؛

ل (intأنا= 0؛أنا< 2؛أنا++)
{
// تحديد المتجه الداخلي
ناقلات؛
ل (intي= 0؛ي< 3؛ي++) {
// أدخل القيمة الافتراضية
inVect.إدفع إلى الخلف(القيمة الافتراضية)؛
}
// أدخل المتجه الداخلي في المتجه الخارجي
خارج.إدفع إلى الخلف(inVect)؛
}

// اطبع قيم المتجه
كلفة<< قيم المتجه هي:ن'؛
ل (intأنا= 0؛أنا<خارج.بحجم()؛أنا++)
{
ل (intي= 0؛ي<خارج[أنا].بحجم()؛ي++)
كلفة<<خارج[أنا][ي] << '؛
كلفة<< 'ن'؛
}
إرجاع 0؛
}

انتاج:

سيظهر الإخراج التالي بعد تنفيذ الكود أعلاه. يُظهر الإخراج محتوى المتجه بناءً على القيمة الافتراضية وعدد الصفوف والأعمدة التي تم إنشاؤها بواسطة الكود.

مثال 4: تهيئة متجه فارغ ثنائي الأبعاد بأخذ قيم الإدخال

طريقة إنشاء متجه ثنائي الأبعاد بأخذ مدخلات من المستخدم موضحة في المثال التالي. تم الإعلان عن متجه فارغ ثنائي الأبعاد لعدد صحيح في الكود الذي سيحتوي على صفين و 3 أعمدة.

متداخلة ل تم استخدام 'loop لأخذ 6 (2 × 3) أعداد صحيحة من المستخدم وإدخالها في المتجه باستخدام قيم الفهرس. متداخلة أخرى ل تم استخدام 'loop لطباعة القيم المدرجة للمتجه.

// تضمين المكتبات الضرورية

#يشمل

#يشمل

استخدام اسم للمحطة؛

intالأساسية()
{
// تحديد عدد الأعمدة
intمع ال= 3؛
// تحديد عدد الصفوف
intصف= 2؛
// تهيئة متغير عدد صحيح
intساعة= 0؛
// تهيئة المتجه الفارغ
المتجه<المتجه>int2DVector؛

// تغيير حجم المتجه الخارجي
int2DVector.تغيير الحجم(صف)؛
ل (intأنا= 0؛أنا<صف؛أنا++)
{
// تغيير حجم المتجه الداخلي
int2DVector[أنا].تغيير الحجم(مع ال)؛
ل (intي= 0؛ي<مع ال؛ي++)
{
// خذ مدخلات من المستخدم
كلفةساعة؛
// أدخل في المتجه
int2DVector[أنا][ي] =ساعة؛
}
}

// اطبع قيم المتجه
كلفة<< قيم المتجه هي:ن'؛
ل (intأنا= 0؛أنا<int2DVector.بحجم()؛أنا++)
{
ل (intي= 0؛ي<int2DVector[أنا].بحجم()؛ي++)
كلفة<<int2DVector[أنا][ي] << '؛
كلفة<< 'ن'؛
}
إرجاع 0؛
}

انتاج:

سيظهر الإخراج التالي بعد تنفيذ الكود أعلاه. يُظهر الإخراج 6 قيم إدخال ومحتوى المتجه بناءً على عدد الصفوف والأعمدة.

استنتاج

يتم استخدام المتجه ثنائي الأبعاد في برمجة C ++ لتخزين البيانات والوصول إليها بناءً على الصفوف والأعمدة. تم عرض طرق مختلفة لإنشاء متجه ثنائي الأبعاد في هذا البرنامج التعليمي باستخدام أمثلة بسيطة. سيتم مسح الغرض من استخدام المتجه ثنائي الأبعاد في C ++ بعد قراءة هذا البرنامج التعليمي.