इस समस्या में, हमें दो सरणियां x[], y[] दी गई हैं जैसे कि (x, y) 2D तल में एक बिंदु का निर्देशांक देता है। हमारा कार्य सभी बिंदुओं को उनकी घटित होने की आवृत्ति के साथ प्रिंट करना है।
आइए एक उदाहरण से समझते हैं:
इनपुट: x[]={0, 1, 1, 0, 0} ; y[]={1, 2, 2, 2, 1}
आउटपुट: (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 << "बिंदु और उनकी घटित होने की आवृत्ति है:\n";
printFrequencyofPoint(x, y, n);
return 0;
}
आउटपुट
बिंदु और उनकी घटित होने की आवृत्ति है: (0, 1) -> 2 (0, 2) -> 1 (1, 2) -> 2