الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه ABCDEFG في 7 يوليو 2009 · 3 رد · 744 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

مصفوفة ذات بعدين كيف يمكنني جعلها مفتوحة

يعني المستخدم هو الذي يقوم بتحديدها

مثلاً "

a[m][n]

#2

هل تقصد أن المستخدم يحدد عدد الأبعاد,, أم حجم المصفوفة؟؟

حسنا,, تقصد حجم المصفوفة,,,

في هذه الحالة عليك استخدام المؤشرات:

int m = 5;
int n = 4;
int ** array;
array = new int*[m];
for( int i = 0; i < m; ++i )
	 array = new int[n];

طبعا سيكون عليك تحرير المصفوفة من الذاكرة بعد استخدامها, بإستخدام delete.

-----------

يوجد حل آخر, وهو استخدام الـ vector, هل تريد أمثلة..؟

والسلام عليكم

تم تعديل هذه المشاركة بواسطة MoHammaD_93 في 7 يوليو 2009 في 01:20

SAFETY TIP : Always delete what you new, and free what you malloc, never mix new with free or malloc with delete.

#3

بالضبط أخي الكريم أقصد حجم المصفوفة

شكراً لك ...

ألا يمكنني تعريف المصفوفة بخطوة واحدة

يعني فوراً

int **a=new int [m][n];

بالمناسبة : بالنسبة لحذف العنصر :: كيف بدي أحذفه

و إذا حذفته :: كيف يصبح ترتيب المصفوفة (بالنسبة للمصفوفات احادية و ثنائية اليعد

)

#4
اقتباس
int **a=new int [m][n];

لا, لا يمكنك.

بالنسبة لحذف عنصر, ستقوم بإنشاء مصفوفة جديدة, وتنسخ المصفوفة الأولى إليها بإستثناء العنصر المحذوف,

SAFETY TIP : Always delete what you new, and free what you malloc, never mix new with free or malloc with delete.

مواضيع مشابهة