السلام عليكــم ورحمـة الله وبركاتــه ،،
مصفوفة ذات بعدين كيف يمكنني جعلها مفتوحة
يعني المستخدم هو الذي يقوم بتحديدها
مثلاً "
a[m][n]
السلام عليكــم ورحمـة الله وبركاتــه ،،
مصفوفة ذات بعدين كيف يمكنني جعلها مفتوحة
يعني المستخدم هو الذي يقوم بتحديدها
مثلاً "
a[m][n]
هل تقصد أن المستخدم يحدد عدد الأبعاد,, أم حجم المصفوفة؟؟
حسنا,, تقصد حجم المصفوفة,,,
في هذه الحالة عليك استخدام المؤشرات:
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.
بالضبط أخي الكريم أقصد حجم المصفوفة
شكراً لك ...
ألا يمكنني تعريف المصفوفة بخطوة واحدة
يعني فوراً
int **a=new int [m][n];
بالمناسبة : بالنسبة لحذف العنصر :: كيف بدي أحذفه
و إذا حذفته :: كيف يصبح ترتيب المصفوفة (بالنسبة للمصفوفات احادية و ثنائية اليعد
)
اقتباس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.