কম্পিউটার টিউটোরিয়াল

C++-এ ২D কো-অর্ডিনেট পয়েন্ট ও ফ্রিকোয়েন্সি অ্যাসেন্ডিং অর্ডারে প্রিন্ট


দুটি অ্যারে x[] এবং y[] দেওয়া আছে যাতে (x,y) একটি ২D পয়েন্ট নির্দেশ করে। সব পয়েন্ট ও তাদের ফ্রিকোয়েন্সি অ্যাসেন্ডিং অর্ডারে প্রিন্ট করতে হবে।

উদাহরণ:

ইনপুট: x[]={0,1,1,0,0}; y[]={1,2,2,2,1} আউটপুট: (0,1)=2 (1,2)=2 (0,2)=1

সমাধান: map ডেটা স্ট্রাকচার ব্যবহার করব। কী হবে pair(x[i],y[i]), ভ্যালু হবে ফ্রিকোয়েন্সি। map অটোমেটিক্যালি সর্টেড থাকে।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

void printFrequencyofPoint(int x[], int y[], int n){
    map<pair<int, int>, int> pFreq;
    for (int i = 0; i < n; i++)
        pFreq[make_pair(x[i], y[i])]++;
    map<pair<int, int>, int>::iterator i;
    for (i = pFreq.begin(); i != pFreq.end(); i++) {
        cout << "(" << (i->first).first << ", " << (i->first).second << ") -> ";
        cout << i->second << "\n";
    }
}

int main() {
    int x[]={0, 1, 1, 0, 0};
    int y[]={1, 2, 2, 2, 1};
    int n=5;
    cout << "The points and their frequency of occurance is :\n";
    printFrequencyofPoint(x, y, n);
    return 0;
}

আউটপুট

The points and their frequency of occurance is : (0, 1) -> 2 (0, 2) -> 1 (1, 2) -> 2

  1. C++-এ একটি রেখায় সর্বোচ্চ পয়েন্ট (Max Points on a Line)

  2. C++-এ বাইনারি ট্রির প্রতিটি লেভেল সর্টেড অর্ডারে প্রিন্ট করুন

  3. C++-এ বিজোড় ফ্রিকোয়েন্সিয়ের ক্যারেক্টরগুলো অভ apparition অর্ডারে প্রিন্ট করুন

  4. রেক্ট্যাঙ্গেল প্যাটার্ন প্রিন্ট (C++)