ویکٹر ریسائز () فنکشن C ++ میں۔

Vector Resize Function C



ویکٹر متحرک صف بنانے کے لیے C ++ کی ایک بہت مفید کلاس ہے۔ کسی بھی پروگرامنگ کے مسئلے کو حل کرنے کے لیے ویکٹر کا سائز کسی بھی وقت تبدیل کیا جا سکتا ہے۔ ویکٹر کنٹینر میں مختلف قسم کے کام کرنے کے لیے C ++ میں بہت سے بلٹ ان فنکشنز موجود ہیں۔ resize () فنکشن ان میں سے ایک ہے۔ یہ ویکٹر کا سائز تبدیل کرنے کے لیے استعمال ہوتا ہے۔ اس فنکشن کو استعمال کرکے ویکٹر کا سائز بڑھایا یا کم کیا جاسکتا ہے۔ C ++ ویکٹر میں resize () فنکشن کے استعمال کی وضاحت اس ٹیوٹوریل میں کی گئی ہے۔

نحو:

resize () فنکشن کو کئی طریقوں سے استعمال کیا جا سکتا ہے۔ اس فنکشن کے دو نحو درج ذیل ہیں۔







باطلسائز تبدیل کریں(size_type n)

اگر n کی قدر ویکٹر آبجیکٹ کے اصل سائز سے چھوٹی ہے تو ویکٹر کا سائز کم ہو جائے گا۔ اگر n کی قدر ویکٹر کے اصل سائز سے زیادہ ہے تو ویکٹر کا سائز بڑھایا جائے گا۔ اگر n کی قدر ویکٹر کے اصل سائز کے برابر ہے تو ویکٹر کا سائز کوئی تبدیلی نہیں رہے گا۔



باطلسائز تبدیل کریں(size_type n ،constویلیو ٹائپ&قدر)؛

اگر دوسری دلیل اس فنکشن میں استعمال ہوتی ہے ، تو دلیل کی قدر ویکٹر کے آخر میں شامل کی جائے گی۔



دونوں ریسائز () فنکشن کچھ نہیں لوٹاتے۔





شرط:

اس ٹیوٹوریل کی مثالوں کو چیک کرنے سے پہلے ، آپ کو چیک کرنا ہوگا کہ جی ++ کمپائلر سسٹم میں انسٹال ہے یا نہیں۔ اگر آپ بصری اسٹوڈیو کوڈ استعمال کر رہے ہیں تو پھر قابل عمل کوڈ بنانے کے لیے C ++ سورس کوڈ مرتب کرنے کے لیے ضروری ایکسٹینشنز انسٹال کریں۔ یہاں ، بصری اسٹوڈیو کوڈ ایپلی کیشن کو C ++ کوڈ کو مرتب اور چلانے کے لیے استعمال کیا گیا ہے۔ اس فنکشن کے مختلف استعمالات کو اس ٹیوٹوریل کے اگلے حصے میں مختلف مثالوں کے ذریعے دکھایا گیا ہے۔

مثال 1: ویکٹر کا سائز کم کریں۔

مندرجہ ذیل کوڈ کے ساتھ ایک C ++ فائل بنائیں تاکہ چیک کریں کہ ویکٹر کے سائز کو کس طرح کم کیا جائے ریسائز () فنکشن کے ذریعے۔ کوڈ میں 4 سٹرنگ ویلیوز کا ایک ویکٹر قرار دیا گیا ہے۔ ویکٹر کے اصل سائز کو پرنٹ کرنے کے بعد ویکٹر میں تین نئی اقدار داخل کی گئی ہیں۔ ویکٹر کا سائز داخل کرنے کے بعد دوبارہ پرنٹ کیا گیا ہے۔ resize () فنکشن کا استعمال ویکٹر کے سائز کو 5 تک کم کرنے کے لیے کیا گیا ہے۔



// ضروری لائبریریاں شامل کریں۔

#شامل کریں

#شامل کریں

استعمال کرتے ہوئے نام کی جگہگھنٹے؛

intمرکزی()

{

// سٹرنگ ویلیوز کے ویکٹر کا اعلان کریں۔

ویکٹر<تار>کھانے کی اشیاء= {'کیک'،'پیسٹری'،'پیزا'،'برگر'}؛

لاگت << 'ویکٹر کا موجودہ سائز:' <<کھانے کی اشیاءسائز() <<endl؛

// تین عناصر شامل کریں۔

کھانے کی اشیاءپیچھے دھکیلو('پاستا')؛

کھانے کی اشیاءپیچھے دھکیلو('فرنچ فرائی')؛

کھانے کی اشیاءپیچھے دھکیلو('چکن فرائی')؛

لاگت << 'داخل کرنے کے بعد ویکٹر کا موجودہ سائز:' <<کھانے کی اشیاءسائز() <<endl؛

// ویکٹر کا سائز تبدیل کریں۔

کھانے کی اشیاءسائز تبدیل کریں()؛

لاگت << سائز تبدیل کرنے کے بعد ویکٹر کا موجودہ سائز: ' <<کھانے کی اشیاءسائز() <<endl؛

واپسی ؛

}

آؤٹ پٹ:

مندرجہ ذیل آؤٹ پٹ اوپر کوڈ پر عمل کرنے کے بعد ظاہر ہوگا۔ آؤٹ پٹ سے پتہ چلتا ہے کہ ویکٹر کا اصل سائز 4 تھا ، سائز 3 نئی اقدار داخل کرنے کے بعد 7 ہو گیا ، اور سائز تبدیل کرنے کے بعد سائز 5 ہو گیا۔

مثال 2: ویکٹر کے سائز میں اضافہ کریں۔

مندرجہ ذیل کوڈ کے ساتھ ایک C ++ فائل بنائیں تاکہ چیک کریں کہ ویکٹر کا سائز کس طرح بڑھایا جا سکتا ہے resize () فنکشن کے ذریعے۔ کوڈ میں 5 عدد نمبروں کا ایک ویکٹر قرار دیا گیا ہے۔ ریزائز () فنکشن کا استعمال کرتے ہوئے ویکٹر کا سائز بڑھانے سے پہلے اصل ویکٹر کا سائز پرنٹ کیا گیا ہے۔ سائز کا سائز تبدیل کرنے کے بعد ویکٹر کے سائز کو دوبارہ پرنٹ کیا گیا ہے 8۔ اگلا ، ویکٹر کے آخر میں 5 نمبر ڈالے گئے ہیں ، اور ترمیم شدہ ویکٹر کا سائز دوبارہ پرنٹ کیا گیا ہے۔

// ضروری لائبریریاں شامل کریں۔

#شامل کریں

#شامل کریں

استعمال کرتے ہوئے نام کی جگہگھنٹے؛

intمرکزی()

{

// عددی اقدار کا ایک ویکٹر اعلان کریں۔

ویکٹر<int>نمبر= {10۔،90۔،بیس،80۔،30۔ }؛

لاگت << 'ویکٹر کا موجودہ سائز:' <<نمبرسائز() <<endl؛

// ویکٹر کا سائز تبدیل کریں۔

نمبرسائز تبدیل کریں()؛

لاگت << سائز تبدیل کرنے کے بعد ویکٹر کا موجودہ سائز: ' <<نمبرسائز() <<endl؛

// ویکٹر میں 5 نمبر شامل کریں۔

نمبرپیچھے دھکیلو(60۔)؛

نمبرپیچھے دھکیلو(40۔)؛

نمبرپیچھے دھکیلو(پچاس)؛

نمبرپیچھے دھکیلو(70۔)؛

نمبرپیچھے دھکیلو(100۔)؛

لاگت << 'داخل کرنے کے بعد ویکٹر کا موجودہ سائز:' <<نمبرسائز() <<endl؛

واپسی ؛

}

آؤٹ پٹ:

مندرجہ ذیل آؤٹ پٹ اوپر کوڈ پر عمل کرنے کے بعد ظاہر ہوگا۔ آؤٹ پٹ سے پتہ چلتا ہے کہ ویکٹر کا اصل سائز 5 تھا ، ویکٹر کا سائز تبدیل کرنے کے بعد سائز 8 ہو گیا ، اور ویکٹر میں 5 عناصر داخل کرنے کے بعد سائز 13 ہو گیا۔

مثال 3: اقدار کے ساتھ ویکٹر کا سائز تبدیل کریں۔

مندرجہ ذیل کوڈ کے ساتھ ایک C ++ فائل بنائیں تاکہ چیک کریں کہ ویکٹر کا سائز تبدیل کرنے کا طریقہ ایک ہی قدر کو کئی بار داخل کرکے۔ کوڈ میں 5 فلوٹ نمبروں کا ایک ویکٹر قرار دیا گیا ہے۔ ریسائز () فنکشن کو ویکٹر کا سائز 7 میں تبدیل کرنے اور نمبر 5.55 کو ویکٹر میں دو بار داخل کرنے کے لیے استعمال کیا گیا ہے۔ کوڈ پر عمل کرنے کے بعد اصل ویکٹر اور ترمیم شدہ ویکٹر کا مواد پرنٹ کیا جائے گا۔

// ویکٹر کا سائز تبدیل کرنا۔

#شامل کریں

#شامل کریں

استعمال کرتے ہوئے نام کی جگہگھنٹے؛

intمرکزی()

{

// فلوٹ ویلیوز کا ویکٹر قرار دیں۔

ویکٹر<تیرنا>نمبر= { 7.89۔،3.98۔،5.56۔،9.65۔،2.33۔ }؛

لاگت << سائز تبدیل کرنے سے پہلے ویکٹر کی اقدار:n'؛

// اقدار کو پرنٹ کرنے کے لیے لوپ کا استعمال کرتے ہوئے ویکٹر کی تکرار کریں۔

کے لیے(intمیں= ؛میں<نمبرسائز()؛ ++۔میں)

لاگت <<نمبر[میں] << ''؛

لاگت << 'n'؛

// اقدار کے ساتھ ویکٹر کا سائز تبدیل کریں۔

نمبرسائز تبدیل کریں(،5.55۔)؛

لاگت << سائز تبدیل کرنے کے بعد ویکٹر کی اقدار:n'؛

// اقدار کو پرنٹ کرنے کے لیے لوپ کا استعمال کرتے ہوئے ویکٹر کی تکرار کریں۔

کے لیے(intمیں= ؛میں<نمبرسائز()؛ ++۔میں)

لاگت <<نمبر[میں] << ''؛

لاگت << 'n'؛

واپسی ؛

}

آؤٹ پٹ:

مندرجہ ذیل آؤٹ پٹ اوپر کوڈ پر عمل کرنے کے بعد ظاہر ہوگا۔ آؤٹ پٹ سے پتہ چلتا ہے کہ نمبر 5.55 ویکٹر کے آخر میں دو بار داخل کیا گیا ہے۔

نتیجہ:

قدر کے ساتھ یا بغیر قیمت کے ویکٹر کے سائز کو تبدیل کرنے کے لیے ریسائز () فنکشن کا استعمال اس ٹیوٹوریل میں سادہ مثالوں کے ذریعے بیان کیا گیا ہے۔ نیا C ++ کوڈر اس ٹیوٹوریل کو پڑھنے کے بعد resize () فنکشن کا استعمال کرکے ضرورت کے مطابق ویکٹر کے سائز کو تبدیل کر سکے گا۔