আমরা চাইলে ভেক্টর এর প্রত্যেকটি ঘরে একটি করে string রাখতে পারবো। এর জন্য আমাদের string data type এর একটি ভেক্টর ডিক্লেয়ার করতে হবে।
স্ট্রিং এর ক্ষেত্রে আমরা সাধারণত দুই ধরণের স্ট্রিং দেখি।
১। স্পেস ছাড়া স্ট্রিং
২। স্পেস সহ স্ট্রিং
প্রথমে দেখে নেয় স্পেস ছাড়া ইনপুটের ক্ষেত্রে কীভাবে ইনপুট নিতে হবে
Type 1 :
int n ; cin >> n ; // সাইজ ইনপুট
vector< string > v(n) ; // স্ট্রিং ডেটা টাইপের n সাইজের একটি ভেক্টর
for(int i =0 ;i<n ;i++) {
cin >> v[i] ; // ভেক্টরের প্রত্যেকটি ইন্ডেক্স এক্সেস করে স্ট্রিং গুলা ইনপুট নেয়া হচ্ছে
}
এরপর স্পেস সহ স্ট্রিং ইনপুটের জন্য দেখে নেয় কীভাবে ইনপুট নিতে হয়ঃ
Type 1 :
int n ; cin >> n ; // সাইজ ইনপুট
cin.ignore() ; // getline দিয়ে স্ট্রিং ইনপুট নিলে এর আগের ইন্টিজার ইনপুটের পরের ক্যারেক্টার ইগ্নোর করতে হয়
vector< string > v(n) ; // স্ট্রিং ডেটা টাইপের n সাইজের একটি ভেক্টর
for(int i =0 ;i<n ;i++) {
getline(cin,v[i]) ; // ভেক্টরের প্রত্যেকটি ইন্ডেক্স এক্সেস করে স্ট্রিং গুলা getline এর সাহায্যে ইনপুট নেয়া হচ্ছে
}
এখন এই ভেক্টরের প্রতিটি ইন্ডেক্সে একটি করে স্ট্রিং স্টোর হয়ে যাবে। এরপর আমরা চাইলে ইন্ডেক্স টি এক্সেস করে ঐ স্ট্রিং নিয়ে কাজ করতে পারবো।
int n ; cin >> n ; // সাইজ ইনপুট
vector< string > v(n) ; // স্ট্রিং ডেটা টাইপের n সাইজের একটি ভেক্টর
for(int i =0 ;i<n ;i++) {
cin >> v[i] ; // ভেক্টরের প্রত্যেকটি ইন্ডেক্স এক্সেস করে স্ট্রিং গুলা ইনপুট নেয়া হচ্ছে
}
for(int i =0 ;i<n ;i++){
cout << v[i] << " " ;// ভেক্টরের প্রত্যেকটি ইন্ডেক্স এক্সেস করে স্ট্রিং গুলা প্রিন্ট করা হচ্ছে
}
Input : 5
Shafiq Karim Nayeem Barkat Rafiq
Output : Shafiq Karim Nayeem Barkat Rafiq