এই সমস্যায়, আমাদের 2টি অ্যারে দেওয়া হয়েছে x[] , y[] যাতে (x,y) 2D সমতলে একটি বিন্দুর একটি স্থানাঙ্ক দেয়। আমাদের কাজ হল সমস্ত পয়েন্টের সাথে তাদের ঘটনার ফ্রিকোয়েন্সি প্রিন্ট করা।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক
Input: x[]={0, 1, 1, 0, 0} ; y[]={1, 2, 2, 2, 1} Output (0, 1) = 2 (1, 2) = 2 (0, 2) = 1
এই সমস্যাটি সমাধান করার জন্য, আমাদের প্রতিটি বিন্দুর সংঘটনের ফ্রিকোয়েন্সি সংরক্ষণ করতে হবে। তাই আমাদের মানচিত্র ডেটা-কাঠামো ব্যবহার করতে হবে। মানচিত্রের কী হল (x[i], y[i]), ম্যাপ করা মান হল সংঘটনের পূর্ণসংখ্যা ফ্রিকোয়েন্সি।
প্রোগ্রামটি আমাদের সমাধানের বাস্তবায়ন দেখাবে,
উদাহরণ
#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