vector < pair<int, string=""> > v;

এই ভেক্টরটা কিভাবে কাজ করবে ? ভেক্টর পেয়ার কোন ক্ষেত্রে ব্যাবহার করব ? সাধারন ভেক্টর বুঝি কিন্তু পেয়ারিং ভেক্টর এর কাজ বুঝি না । কেউ বুঝিয়ে বললে খুব ভাল হত , বিষয়টা অনেকদিন ধরে বোঝার চেষ্টা করছি কিন্তু পারছি না ।

asked 18 Jul '16, 22:35

sifat_mbstu's gravatar image

sifat_mbstu
192

retagged 21 Oct '16, 18:15

menon's gravatar image

menon
4.3k324


pair কে structure হিসাবে কল্পনা করা যেতে পারে । যেটা কিছুটা এই রকম,

struct pair {
    int first;
    int second;
};

আমরা আমাদের প্রয়োজন মত pair ডিফাইন করতে পারি, যেমন ঃ

pair < int, int > iip;
pair < int, double > idp;
pair < string, int> sip;
pair < string, string > ssp;

এখন দেখি pair এ আমারা কি ভাবে ভেলূ রাখতে পারি । এটা কয়েক ভাবে করা যায়,

pair < string, double > p1 ("Name",100.3);

এখন আমরা যদি Name ভেলু কে access করতে চাই তবে আমাদের লিখতে হবে,

cout << p1.first << endl;
cout << p1.second << endl; // for access 100.3

আমরা make_pair ফাংশন ব্যাবহার করেও pair এর ভেলু insert করতে পারি,

pair < string, int > p2;
p2 = make_pair("Hello World", 10);

এখন আমরা দেখি vector এর pair কি ভাবে কাজ করে । আমটা যে ভাবে int, double, string, char এর vector ডিফাইন করতে পারি । একই ভাবে pair type এর ভেক্টরও ডিফাইন করতে পারি যেমন :

vector < pair < string, int> > vp;

এইটা একটা pair type এর vector যেটাতে আমরা string, int type ভেলু রাখতে পারি নিচের মত করে,

vp.push_back(make_pair("Earth", 100));
vp.push_back(make_pair("I love Bangladesh", 1000));

এই ভেলু প্রিন্ট করার জন্য,

cout << "first: " << vp[0].first << " second: " << vp[0].second << endl;
cout << "first: " << vp[1].first << " second: " << vp[1].second << endl;

STL iterator ব্যাবহার করে প্রিন্ট করতে হলে,

vector < pair < string, int> > :: iterator it;
for(it = vp.begin(); it != vp.end(); ++it) {
    cout << it->first << " " << it->second << endl;
}

ধন্যবাদ :)

permanent link

answered 19 Jul '16, 09:21

menon's gravatar image

menon
4.3k324

1

pair এ ভেক্টর এর মত কোন ইনডেক্স নাই । তাই এখানে নির্দিষ্ট index এ কি Value Insert, Erase এগুলো করা যাবে না । তবে ভেক্টর পেয়ারিং করলে কারা যাবে ।

(23 Jul '16, 17:51) menon

অনেক অনেক ধন্যবাদ আপনাকে । বিষয়টা এতদিন ধোয়াশাযুক্ত ছিল । আচ্ছা, Pair এর ভিতরে নির্দিষ্ট index এ কি Value Insert, Erase এগুলো করা যাবে ? যেমনটা করা যায় Vector কিংবা String-এ ? Pair এর কিছু ভাল টিউটোরিয়ালের লিংক দিতে পারলে উপকৃত হতাম ।

permanent link

answered 23 Jul '16, 17:41

sifat_mbstu's gravatar image

sifat_mbstu
192

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×14
×13
×3
×1

question asked: 18 Jul '16, 22:35

question was seen: 564 times

last updated: 21 Oct '16, 18:15