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

C++ में सरणी में मिश्रित तत्वों की गिनती और योग


हमें सकारात्मक पूर्णांकों की एक सरणी दी गई है और कार्य दी गई सरणी में मिश्रित तत्वों की गिनती और योग की गणना करना है।

मिश्रित संख्याएं क्या हैं

दिए गए पूर्णांकों के समूह से, जो संख्याएं अभाज्य नहीं हैं उन्हें मिश्रित संख्याएं कहा जाता है सिवाय 1 के जो न तो मिश्रित है और न ही अभाज्य बल्कि यह एक इकाई संख्या है। तो, यह स्पष्ट रूप से कहा गया है कि एक संख्या या तो अभाज्य हो सकती है या मिश्रित सिवाय संख्या 1 के।

100 तक की मिश्रित संख्याएं नीचे दी गई हैं -

4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30, 32, 33, 34, 35, 36, 38, 39, 40, 42, 44, 45, 46, 48, 49, 50, 51, 52, 54, 55, 56, 57, 58, 60, 62, 63, 64, 65, 66, 68, 69, 70, 72, 74, 75, 76, 77, 78, 80, 81, 82, 84, 85, 86, 87, 88, 90, 91, 92, 93, 94, 95, 96, 98, 99, 100

उदाहरण के लिए

इनपुट - array[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} आउटपुट - मिश्रित संख्याओं की कुल गिनती: 5       मिश्रित संख्याओं का योग: 37

व्याख्या - 4, 6, 8, 9, 10 दी गई सरणी में मौजूद मिश्रित संख्याएं हैं। इसलिए, उनकी गिनती 5 है और उनका योग 4+6+8+9+10 = 37 है

इनपुट - array[] = {1, 2, 3, 4, 5} आउटपुट - मिश्रित संख्याओं की कुल गिनती: 1       मिश्रित संख्याओं का योग: 4

व्याख्या - 4 दी गई सरणी में मौजूद एकमात्र मिश्रित संख्या है। इसलिए, उनकी गिनती 1 है और उनका योग 4 है

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण &miuns;

  • सकारात्मक पूर्णांकों की सरणी इनपुट करें

  • इसका आकार गणना करें

  • मिश्रित संख्याओं का योग संग्रहीत करने के लिए चर sum को आरंभ करें

  • सरणी में मौजूद अधिकतम मान को एक चर में संग्रहीत करें

  • अधिकतम मान तक अभाज्य संख्याओं की गणना करें

  • पूरी सरणी को पार करें और जांचें कि संख्या अभाज्य है या नहीं। यदि संख्या अभाज्य नहीं है तो यह मिश्रित संख्या होगी और यदि यह है, तो मिश्रित संख्या की गिनती को 1 से बढ़ाएं और इसके मान को योग में जोड़ें

उदाहरण

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

// मिश्रित संख्याओं की गिनती खोजने और लौटाने के लिए फंक्शन
int compcount(int ar[], int num, int* sum) {
    // सरणी के सबसे बड़े तत्व को संग्रहीत करना
    int max_val = *max_element(ar, ar + num);
    // अधिकतम मान से कम या बराबर सभी अभाज्य संख्याओं को खोजने के लिए सिव का उपयोग
    // एक बूलियन सरणी "prime[0..n]" बनाएं। एक
    // मान prime[i] में अंततः false होगा
    vector<bool> pr(max_val + 1, true);
    // अभाज्य के लिए 0 और 1 के मान को
    // true पर सेट करना।
    pr[0] = true;
    pr[1] = true;
    for (int p = 2; p * p <= max_val; p++) {
        // यदि prime[p] बदला नहीं गया है, तो
        // यह एक अभाज्य संख्या है
        if (pr[p] == true) {
            // p के सभी गुणकों को अपडेट करें
            for (int i = p * 2; i <= max_val; i += p) {
                pr[i] = false;
            }
        }
    }
    // सभी मिश्रित संख्याओं को गिनें
    // सरणी arr[] में
    int ans = 0;
    for (int i = 0; i < num; i++) {
        if (!pr[ar[i]]) {
            ans++;
            *sum = *sum + ar[i];
        }
    }
    return ans;
}

// ड्राइवर कोड
int main() {
    int ar[] = {1, 2, 3, 4, 5};
    int num = sizeof(ar) / sizeof(ar[0]);
    int sum = 0;
    cout << "Count of Composite Numbers = " << compcount(ar, num, &sum);
    cout << "\nSum of Composite Numbers = " << sum;
    return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -

Count of Composite Numbers = 1 Sum of Composite Numbers = 4

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

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

  1. - C++ STL में सरणी का योग (Array Sum)

    सरणी योग ज्ञात करने के तरीके 1. शास्त्रीय विधि (लूप) सभी तत्वों पर पुनरावृति करके योग निकालें। int arr[] = {2, 5, 7, 8, 2, 6, 9}; int n = 7, sum = 0; for (int i = 0; i < n; i++) sum += arr[i]; // Output: 39 2. accumulate() फंक्शन ( हेडर) STL का बिल्ट-इन फंक्शन। #include <numeric> int su

  1. - C++ सम एरे पहेली (Sum Array Puzzle)

    एरे (Array) एक डेटा संरचना है जो समान डेटा प्रकार के कई तत्वों को संग्रहीत करती है। यह एक बार में मानों का पूरा सेट संग्रहीत कर सकता है। लेकिन इसकी लंबाई पहले से परिभाषित होनी चाहिए। इस सम एरे पहेली में, हमें एक निश्चित आकार का एरे A1 दिया जाता है, मान लीजिए n। इस पहेली को हल करने के लिए, हम S1 नाम