Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में सरणी तत्वों के औसत की दिए गए संख्या के साथ घटनाओं की गिनती


समस्या विवरण

एक सरणी arr[] दी गई है जिसमें पूर्णांक तत्व हैं और एक पूर्णांक num। लक्ष्य प्रत्येक तत्व arr[i] और num का औसत ज्ञात करना है और उस औसत की मूल सरणी में घटी घटनाओं की संख्या प्रिंट करना है।

यदि सरणी arr[] है [5, 2, 3] और num 2 है। औसत होंगे [3, 2, 2] arr[] में घटनाएं [1,1,1] हैं।

उदाहरण

इनपुट

arr[] = { 1, 6, 4, 3, 6, 4 } num=2

आउटपुट

1 2 1 0 2 1

दिए गए संख्या के साथ सरणी तत्वों के औसत की घटनाओं की गिनती: 5

व्याख्या

num 4 है और arr[] में अन्य सभी संख्याओं के साथ औसत: [1, 4, 3, 2, 4, 3] arr[] में इनकी घटनाएं = [1, 2, 1, 0, 2, 1]

इनपुट

arr[] = { 4, 8, 24, 16, 20, 40 } num=4

आउटपुट

1 0 0 0 0 0

दिए गए संख्या के साथ सरणी तत्वों के औसत की घटनाओं की गिनती: 1

व्याख्या

num 4 है और arr[] में अन्य सभी संख्याओं के साथ औसत: [4, 6, 14, 10, 12, 22] arr[] में इनकी घटनाएं = [1, 0, 0, 0, 0, 0]

दृष्टिकोण

इस दृष्टिकोण में हम औसत और उनकी मूल सरणी में गिनती संग्रहीत करने के लिए एक मैप बनाएंगे। हम इन गिनतियों को प्रिंट करने के लिए एक अलग सरणी में जोड़ेंगे।

एल्गोरिदम चरण

  • पूर्णांक प्रकार की arr[] लें।
  • इनपुट num को पूर्णांक के रूप में लें।
  • फंक्शन occurrence_average(int arr[], int size, int num) इनपुट सरणी और num लेता है और arr[] में औसत की घटना सरणी प्रिंट करता है। यह गैर-शून्य घटनाओं की गिनती लौटाता है।
  • प्रारंभिक गिनती=0 लें।
  • arr[] में अद्वितीय संख्याओं की गिनती संग्रहीत करने के लिए map<int,int> map_pair लें।
  • प्रत्येक औसत की गिनती संग्रहीत करने के लिए सरणी total[] लें।
  • for लूप का उपयोग करके इंडेक्स i=0 से i<size तक सरणी arr[] को पार करें। प्रत्येक तत्व के लिए map_pair[arr[i]]++ का उपयोग करके संबंधित कुंजी के लिए मान बढ़ाएं।
  • लूप के अंत में हमारे पास कुंजी के रूप में अद्वितीय संख्याएं और arr[] में उनकी गिनती मान के रूप में होगी।
  • for लूप का उपयोग करके सरणी को फिर से पार करें ताकि num का प्रत्येक व्यक्तिगत तत्व के साथ औसत निकालें और temp में संग्रहीत करें।
  • यदि वह temp map_pair.find(temp) != map_pair.end() का उपयोग करके map_pair में मिलता है, तो इसे सरणी total में जोड़ें।
  • गिनती के लिए सरणी total प्रिंट करें। प्रत्येक गैर-शून्य तत्व के लिए गिनती बढ़ाएं।
  • परिणाम के रूप में गिनती लौटाएं।

C++ कोड उदाहरण

#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 << "घटनाओं की गिनती: " << occurrence_average(arr, size, num);
}

आउटपुट

घटनाओं की गिनती: 1 0 0 0 0 0 1
  1. - C++ में सरणी में दो दिए गए तत्वों के बीच के तत्वों की संख्या गिनें

    हमें एक सरणी दी गई है जिसमें पूर्णांक तत्व हैं और दो संख्याएँ start और end हैं और कार्य सरणी में start और end के बीच मौजूद तत्वों की संख्या की गणना करना है। सरणी एक प्रकार की डेटा संरचना है जो एक ही प्रकार के तत्वों का एक निश्चित आकार का अनुक्रमिक संग्रह संग्रहीत कर सकती है। एक सरणी का उपयोग डेटा

  1. - C++ में दिए गए तत्वों के सेट से संभावित आयत और वर्गों की संख्या

    इस समस्या में, हमें N पूर्णांकों का एक ऐरे दिया गया है जो n छड़ियों की लंबाई को दर्शाता है। हमारा कार्य दिए गए लंबाई की छड़ियों से बनाए जा सकने वाले आयतों और वर्गों की संख्या प्रिंट करना है। समस्या को समझने के लिए एक उदाहरण लेते हैं इनपुट - ऐरे = {5, 5, 7, 7, 1, 4} आउटपुट - 1 व्याख्या - भुजाओं 5 5

  1. - C++ में ऐरे में सम और विषम एलिमेंट्स की गिनती

    इस ट्यूटोरियल में, हम ऐरे में सम और विषम एलिमेंट्स की संख्या खोजने के लिए एक प्रोग्राम पर चर्चा करेंगे।इसके लिए हमें एक ऐरे प्रदान किया जाएगा। हमारा कार्य दिए गए ऐरे में सम और विषम एलिमेंट्स की संख्या की गणना करना है।उदाहरण#include<iostream> using namespace std; void CountingEvenOdd(int arr[],