• 0

كيف يمكن حذف سطر أو عمود من مصفوفة بلغة c++؟

بلغة c++، كيف يمكنني حذف سطر او عمود من مصفوفة 2d dynamic؟
أشكركم

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

لحذف جميع العناصر سنستعمل حلقة التكرار for، بحيث ستتصفح جميع العناصر وبالتالي تطبيق دالة delete:

for (int i = 0; i < rows ; ++i){
    delete [] results[i];
}

في حال أردنا حذف عنصر واحد فقط-ذو الرقم الترتيبي 7-، سنستعمل الكود:

    delete [] results[7];

لحذف سطر في مصفوفة Dynamic نستخدم الشيفرة التالية:

unsigned rowToDelete = 2;
if (myVector.size() > rowToDelete)
{
  myVector.erase( myVector.begin() + rowToDelete );
}

حيث أن myVector يشير إلى المصفوفة و rowToDelete إلى السطر الذي تريد حذفه ولقد استخدمنا دالة erase() للحذف.

نتيجة الحذف تكون كالآتي:

delete-array-c.png

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

إذا أردت حذف عمود أيضًا صديقي فيمكنك استخدام هذه الشيفرة البرمجة:

unsigned columnToDelete = 2;

for (unsigned i = 0; i < myVector.size(); ++i)
{
  if (myVector[i].size() > columnToDelete)
  {
    myVector[i].erase(myVector[i].begin() + columnToDelete);
  }
}

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن