एक सरणी गिरफ्तारी [] जिसमें पूर्णांक तत्व और एक पूर्णांक संख्या दी गई है। लक्ष्य प्रत्येक तत्व arr[i] और num का औसत ज्ञात करना है और मूल सरणी में दिखाई देने वाले औसत की संख्या की संख्या को प्रिंट करना है।
यदि सरणी गिरफ्तारी [] [5, 2, 3] है और संख्या 2 है। गिरफ्तारी में औसत [3, 2, 2] होगा [1,1,1]
उदाहरण के लिए
इनपुट
arr[] = { 1, 6, 4, 3, 6, 4 } num=2
आउटपुट
1 2 1 0 2 1
दी गई संख्या के साथ सरणी तत्वों के औसत की घटनाओं की संख्या है - 5
स्पष्टीकरण
The num is 4 and averages with all other numbers in arr[] is : [ 1, 4, 3, 2, 4, 3 ] occurrences of these in arr[]= [ 1, 2, 1, 0, 2, 1 ]
इनपुट
arr[] = { 4, 8, 24, 16, 20, 40 } num=4
आउटपुट
1 0 0 0 0 0
दी गई संख्या के साथ सरणी तत्वों के औसत की घटनाओं की संख्या है - 1
स्पष्टीकरण
The num is 4 and averages with all other numbers in arr[] is : [ 4, 6, 14, 10, 12, 22 ] occurrences of these in arr[]= [ 1, 0, 0, 0, 0, 0 ]
नीचे दिए गए कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है -
इस दृष्टिकोण में हम मूल सरणी में औसत और उनकी गिनती को संग्रहीत करने के लिए एक नक्शा तैयार करेंगे। घटनाओं की संख्या को प्रिंट करने के लिए हम इन गणनाओं को एक अलग सरणी में जोड़ देंगे।
-
पूर्णांक प्रकार का एआर [] लें।
-
इनपुट संख्या को पूर्णांक के रूप में लें।
-
फंक्शन घटना_एवरेज (इंट एआर [], इंट साइज, इंट नंबर) इनपुट एरे और नंबर लेता है और एआर में औसत की घटना सरणी को प्रिंट करता है []। यह गैर-शून्य घटनाओं की संख्या देता है।
-
प्रारंभिक गणना =0 लें।
-
arr[] में अद्वितीय संख्याओं की संख्या संग्रहीत करने के लिए एक नक्शा
map_pair लें। -
प्रत्येक औसत की संख्या को संग्रहीत करने के लिए कुल [] एक सरणी लें।
-
लूप के लिए अनुक्रमणिका i=0 से i<आकार का उपयोग करके सरणी arr[] को पार करें। map_pair[arr[i]]++ का उपयोग करके संबंधित कुंजी के लिए प्रत्येक तत्व वृद्धि मूल्य के लिए।
-
लूप के अंत में हमारे पास अद्वितीय संख्याएं कुंजी के रूप में होती हैं और उनकी गणना arr[] में मानों के रूप में होती है।
-
प्रत्येक व्यक्तिगत तत्व के साथ संख्या के औसत की गणना करने और अस्थायी रूप से स्टोर करने के लिए लूप के लिए उपयोग करके सरणी को फिर से पार करें।
-
यदि वह अस्थायी map_pair.find(temp) !=map_pair.end() का उपयोग करके map_pair में पाया जाता है, तो इसे कुल सरणी में जोड़ें।
-
एआर में होने वाली औसत की गणना के लिए कुल सरणी प्रिंट करें []। प्रत्येक गैर-शून्य तत्व के लिए, वृद्धि की संख्या।
-
परिणाम के रूप में वापसी की गिनती।
उदाहरण
#include<bits/stdc++.h> using namespace std; int occurrence_average(int arr[], int size, int num){ int count = 0; map<int,int> map_pair; int total[size] = {0}; int val, av; for (int i = 0; i < size; i++){ if (map_pair[arr[i]] == 0){ map_pair[arr[i]] = 1; } else { map_pair[arr[i]]++; } } for (int i = 0; i < size; i++){ int temp = int((arr[i] + num) / 2); if(map_pair.find(temp) != map_pair.end()){ int set = map_pair[temp]; total[i] = set; } } cout<<endl; for(int i=0;i<size;i++){ cout<<total[i]<<" "; if(total[i]>0){ count++; } } return count; } int main(){ int arr[] = { 4, 8, 24, 16, 20, 40 }; int size = sizeof(arr)/sizeof(arr[0]); int num = 4; cout<<endl<<"Count of occurrences of the average of array elements with a given number are: "<<occurrence_average(arr, size, num); }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of occurrences of the average of array elements with a given number are: 1 0 0 0 0 0 1