কম্পিউটার

2-ডি কো-অর্ডিনেট পয়েন্ট প্রিন্ট করুন C++ এ তাদের ফ্রিকোয়েন্সি অনুসরণ করে আরোহী ক্রমে


এই সমস্যায়, আমাদের 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

  1. C++ এ একটি লাইনে সর্বোচ্চ পয়েন্ট

  2. C++ এ সাজানো ক্রমে বাইনারি ট্রি লেভেল প্রিন্ট করুন

  3. C++ তে বিজোড় ফ্রিকোয়েন্সি থাকা অক্ষর প্রিন্ট করুন

  4. C++ এ একটি আয়তক্ষেত্র প্যাটার্ন প্রিন্ট করার জন্য প্রোগ্রাম