C++ এর বিভিন্ন বিল্ট-ইন ফাংশন ব্যবহার করে ভেক্টরের আকার কমানো যেতে পারে। pop_back() ফাংশন তাদের মধ্যে একটি। এটি ভেক্টরের শেষ উপাদানটিকে পিছন থেকে সরাতে এবং ভেক্টরের আকার 1 দ্বারা কমাতে ব্যবহৃত হয়। তবে ভেক্টরের শেষ উপাদানটি erase() ফাংশনের মতো স্থায়ীভাবে সরানো হয় না। এই টিউটোরিয়ালে এই ফাংশনের বিভিন্ন ব্যবহার ব্যাখ্যা করা হয়েছে।
বাক্য গঠন:
ভেক্টর :: ফিরে পপ ( ) ;এই ফাংশনের কোনো যুক্তি নেই, এবং এটি কিছুই ফেরত দেয় না।
পূর্বশর্ত:
এই টিউটোরিয়ালের উদাহরণগুলি পরীক্ষা করার আগে, আপনাকে পরীক্ষা করতে হবে g++ কম্পাইলার ইনস্টল করা আছে নাকি সিস্টেমে নেই। আপনি যদি ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করেন, তাহলে এক্সিকিউটেবল কোড তৈরি করতে C++ সোর্স কোড কম্পাইল করতে প্রয়োজনীয় এক্সটেনশনগুলি ইনস্টল করুন। এখানে, ভিজ্যুয়াল স্টুডিও কোড অ্যাপ্লিকেশনটি C++ কোড কম্পাইল এবং এক্সিকিউট করতে ব্যবহার করা হয়েছে। pop_back() ফাংশন ব্যবহার করে ভেক্টরের আকার কমানোর উপায় এই টিউটোরিয়ালের পরবর্তী অংশে দেখানো হয়েছে।
উদাহরণ-1: ভেক্টর থেকে একাধিক উপাদান সরান
pop_back() ফাংশন ব্যবহার করে ভেক্টরের আকার কমিয়ে ভেক্টর কন্টেইনার থেকে দুটি উপাদান সরাতে নিম্নলিখিত কোড সহ একটি C++ ফাইল তৈরি করুন। কোডে 5 স্ট্রিং মানের একটি ভেক্টর ঘোষণা করা হয়েছে। pop_back() ফাংশনটি এখানে দুইবার কল করা হয়েছে যাতে ভেক্টর থেকে অস্থায়ীভাবে দুটি শেষ উপাদান অপসারণ করা হয় এবং ভেক্টরের আকার 2 দ্বারা কমানো যায়। pop_back() ফাংশন ব্যবহার করার আগে এবং পরে ভেক্টরের বিষয়বস্তু দুইবার প্রিন্ট করা হয়েছে।
//প্রয়োজনীয় লাইব্রেরি অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত <ভেক্টর>
ব্যবহার নামস্থান std ;
int প্রধান ( ) {
// স্ট্রিং মানগুলির একটি ভেক্টর ঘোষণা করুন
ভেক্টর < স্ট্রিং > ফুল = { 'গোলাপ' , 'লিটি' , 'গাঁদা' , 'টিউলিপ' , 'জল সিংহ' } ;
cout << 'ভেক্টরের মান: \n ' ;
// মান প্রিন্ট করতে লুপ ব্যবহার করে ভেক্টর পুনরাবৃত্তি করুন
জন্য ( int i = 0 ; i < ফুল আকার ( ) ; ++ i )
cout << ফুল [ i ] << '' ;
cout << ' \n ' ;
// ভেক্টর থেকে শেষ দুটি মান সরান
ফুল ফিরে পপ ( ) ;
ফুল ফিরে পপ ( ) ;
cout << ' \n অপসারণের পরে ভেক্টরের মান: \n ' ;
// মান প্রিন্ট করতে লুপ ব্যবহার করে ভেক্টর পুনরাবৃত্তি করুন
জন্য ( int i = 0 ; i < ফুল আকার ( ) ; ++ i )
cout << ফুল [ i ] << '' ;
cout << ' \n ' ;
ফিরে 0 ;
}
আউটপুট:
উপরের কোডটি এক্সিকিউট করার পর নিচের আউটপুট আসবে।
উদাহরণ-২: অন্য ভেক্টর থেকে একটি নতুন ভেক্টর তৈরি করুন
pop_back() ফাংশন ব্যবহার করে উপাদানগুলি সরিয়ে অন্য ভেক্টর থেকে একটি খালি ভেক্টরে নির্দিষ্ট মান সন্নিবেশ করতে নিম্নলিখিত কোড সহ একটি C++ ফাইল তৈরি করুন। 8টি পূর্ণসংখ্যার একটি ভেক্টর এবং পূর্ণসংখ্যার প্রকারের একটি খালি ভেক্টর কোডে ঘোষণা করা হয়েছে। 'while' লুপটি প্রথম ভেক্টরের প্রতিটি উপাদানকে পুনরাবৃত্তি করতে এবং সংখ্যাটি 2 দ্বারা বিভাজ্য হলে উপাদানটিকে নতুন ভেক্টরে সন্নিবেশ করতে ব্যবহার করা হয়েছে। এখানে সমস্ত জোড় সংখ্যার যোগফলও গণনা করা হয়েছে। প্রথম ভেক্টরের প্রতিটি উপাদান লুপের প্রতিটি পুনরাবৃত্তিতে pop_back() ফাংশন দ্বারা মুছে ফেলা হবে লুপের সমাপ্তির শর্তে পৌঁছানোর জন্য।
//প্রয়োজনীয় লাইব্রেরি অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত করুন
# অন্তর্ভুক্ত <ভেক্টর>
ব্যবহার নামস্থান std ;
int প্রধান ( )
{
// পূর্ণসংখ্যা ডেটার একটি ভেক্টর ঘোষণা করুন
ভেক্টর < int > intVector { 5 , 9 , 4 , 7 , 2 , 8 , 1 , 3 } ;
//একটি খালি ভেক্টর ঘোষণা করুন
ভেক্টর < int > নতুন ভেক্টর ;
cout << 'মূল ভেক্টরের মান: \n ' ;
// মান প্রিন্ট করতে লুপ ব্যবহার করে ভেক্টর পুনরাবৃত্তি করুন
জন্য ( int i = 0 ; i < intVector. আকার ( ) ; ++ i )
cout << intVector [ i ] << '' ;
cout << ' \n ' ;
// ফলাফল শুরু করুন
int ফলাফল = 0 ;
// ভেক্টর খালি না হওয়া পর্যন্ত লুপটি পুনরাবৃত্তি করুন
যখন ( ! intVector. খালি ( ) )
{
/*
নতুন ভেক্টরে সন্নিবেশ করার জন্য জোড় সংখ্যা খুঁজে বের করুন
এবং জোড় সংখ্যার যোগফল গণনা করুন
*/
যদি ( intVector. পেছনে ( ) % 2 == 0 )
{
ফলাফল + = intVector. পেছনে ( ) ;
নতুন ভেক্টর। ফেরত পাঠাও ( intVector. পেছনে ( ) ) ;
}
// intVactor এর শেষ থেকে উপাদান সরান
intVector. ফিরে পপ ( ) ;
}
cout << 'নতুন ভেক্টরের মান: \n ' ;
// মান প্রিন্ট করতে লুপ ব্যবহার করে ভেক্টর পুনরাবৃত্তি করুন
জন্য ( int i = 0 ; i < নতুন ভেক্টর। আকার ( ) ; ++ i )
cout << নতুন ভেক্টর [ i ] << '' ;
cout << ' \n ' ;
cout << 'সমস্ত জোড় সংখ্যার যোগফল : ' << ফলাফল << ' \n ' ;
ফিরে 0 ;
}
আউটপুট:
উপরের কোডটি এক্সিকিউট করার পর নিচের আউটপুট আসবে। প্রথম ভেক্টরে তিনটি জোড় সংখ্যা ছিল। 8, 2, এবং 4 আছে।
উদাহরণ-3: ভেক্টরের শেষ উপাদানটি সরানো হয়েছে কি না তা পরীক্ষা করুন
এটি আগে উল্লেখ করা হয়েছে যে pop_back() ভেক্টর থেকে উপাদানগুলিকে স্থায়ীভাবে সরিয়ে দেয় না এবং এটি শুধুমাত্র ভেক্টরের আকার হ্রাস করে উপাদানটিকে সরিয়ে দেয়। সুতরাং, সরানো উপাদানটি একই অবস্থানে থাকে যতক্ষণ না ভেক্টরের আকার বৃদ্ধি পায় এবং উপাদানটিকে অন্য উপাদান দিয়ে প্রতিস্থাপন করে। pop_back() ফাংশন দ্বারা অপসারিত উপাদান বিদ্যমান আছে কি না তা পরীক্ষা করতে নিম্নলিখিত কোড সহ একটি C++ ফাইল তৈরি করুন। মূল ভেক্টরের শেষ অবস্থানটি pop_back() ফাংশন ব্যবহার করার আগে এবং পরে প্রিন্ট করা হয়েছে।
# অন্তর্ভুক্ত করুন# অন্তর্ভুক্ত <ভেক্টর>
ব্যবহার নামস্থান std ;
int প্রধান ( )
{
// পূর্ণসংখ্যা ডেটার একটি ভেক্টর ঘোষণা করুন
ভেক্টর < int > intVector { 54 , 19 , 46 , 72 , 22 , 83 , 10 , 53 } ;
//একটি খালি ভেক্টর ঘোষণা করুন
ভেক্টর < int > নতুন ভেক্টর ;
// একটি পূর্ণসংখ্যা পরিবর্তনশীল ঘোষণা করুন
int দৈর্ঘ্য ;
// ভেক্টরের আকারের উপর ভিত্তি করে শেষ উপাদানটি মুদ্রণ করুন
দৈর্ঘ্য = intVector. আকার ( ) ;
cout << 'ভেক্টরের বর্তমান আকার:' << দৈর্ঘ্য << ' \n ' ;
cout << 'সরানোর আগে ভেক্টরের শেষ মান:' << intVector [ দৈর্ঘ্য - 1 ] << ' \n ' ;
// ভেক্টরের শেষ থেকে উপাদানটি সরান
intVector. ফিরে পপ ( ) ;
// অপসারণের পরে ভেক্টরের আকারের উপর ভিত্তি করে শেষ উপাদানটি মুদ্রণ করুন
দৈর্ঘ্য = intVector. আকার ( ) ;
cout << 'ভেক্টরের বর্তমান আকার:' << দৈর্ঘ্য << ' \n ' ;
cout << 'সরানোর পর ভেক্টরের শেষ মান:' << intVector [ দৈর্ঘ্য ] << ' \n ' ;
ফিরে 0 ;
}
আউটপুট:
উপরের কোডটি এক্সিকিউট করার পর নিচের আউটপুট আসবে। আউটপুট দেখায় যে ভেক্টরের আকার 1 দ্বারা হ্রাস করা হয়েছে, তবে মূল ভেক্টরের শেষ অবস্থানের উপাদানটি এখনও বিদ্যমান।
উপসংহার:
pop_back() ফাংশনের তিনটি ভিন্ন ব্যবহার এই টিউটোরিয়ালে সহজ উদাহরণ ব্যবহার করে বর্ণনা করা হয়েছে। এই টিউটোরিয়ালের উদাহরণগুলি অনুশীলন করার পরে এই ফাংশনটি ব্যবহার করার মূল উদ্দেশ্য পাঠকদের জন্য পরিষ্কার করা হবে।