Saturday, June 23, 2018

Pair

 
সি প্রোগ্রামিং সম্পর্কে ধারণা থাকলে তোমার স্ট্রাকচার সম্পর্কে জানার কথা। এটি দেখলে তোমার স্ট্রাকচার চেনার কথা -
struct pair{
     int first;
     int second;
} p;

এই স্ট্রাকচারটিকে পেয়ার এর মতো ডিক্লেয়ার করলে এটি দেখতে ঠিক এমন হবে-
pair<int, int> p;
উপরের স্ট্রাকচারটি যে task করতে পারে নিচের পেয়ারটিও ঠিক একই task করতে পারে। মজার না ব্যাপারটি!!! 

প্রোগ্রামিং প্রতিযোগিতায় অনেক সময় কন্টেস্টেন্টরা স্ট্রাকচার ডিক্লেয়ার করতে ভুল করে, সেই ক্ষেত্রে পেয়ার অনেক সাহায্য করতে পারে। এছাড়াও অনেক সময় ডাটার ইনডেক্স প্রয়োজন পরে, পেয়ার ব্যবহার করে তা সহজেই করা যায়। 

নিচে পেয়ার ডিক্লেয়ার করার কয়েকটি উদাহরণ দেয়া হল-
pair<int, int> p;
pair<int, double> p;
pair<int, string> p;
pair<int, double> p[100];   

এখন আমরা জানবো কিভাবে পেয়ার এ ডাটা initialize করতে হয়
pair<int, double> p; এই পেয়ারটির value এখন আমরা initialize করব।
p.first=2;
p.second=3.5;
make_pair() function ব্যবহার করেও আমরা পেয়ার এর value initialize করতে পারি । ঠিক এইভাবে-
p = make_pair(2, 3.5);

Code:
  

#include<cstdio>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
    pair < int, double> a, b, c;
    pair < int, pair < double, string > > d, e;
    a.first=2;
    a.second=3.5;
    printf("%d %lf\n", a.first, a.second);
    scanf("%d%lf", &b.first, &b.second);
    printf("%d %lf\n", b.first, b.second);
    c=make_pair(10, 6.5);
    printf("%d %lf\n", c.first, c.second);
    d=make_pair(5, make_pair(4.5, "ABC"));
    printf("%d %lf %s\n", d.first, d.second.first, d.second.second.c_str());
    e.first=15;
    e.second.first=5.5;
    e.second.second="abc";
    printf("%d %lf %s\n", e.first, e.second.first, e.second.second.c_str());
    return 0;
}

No comments:

Post a Comment