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

C++ में fork() का उपयोग करके पैरेंट और चाइल्ड प्रोसेस में गणना

परिचय

इस खंड में हम देखेंगे कि C++ में चाइल्ड प्रोसेस बनाने के लिए fork() का उपयोग कैसे करें। हम प्रत्येक प्रोसेस में कुछ गणना भी करेंगे। इसलिए हमारे पैरेंट प्रोसेस में हम एक सरणी के सभी सम संख्याओं का योग ढूंढेंगे, और चाइल्ड प्रोसेस में हम सरणी तत्वों से विषम योग की गणना करेंगे।

जब fork() कॉल किया जाता है, तो यह एक मान लौटाता है। यदि मान 0 से अधिक है, तो वर्तमान में यह पैरेंट प्रोसेस में है, अन्यथा यह चाइल्ड प्रोसेस में है। इस का उपयोग करके हम प्रोसेस के बीच अंतर कर सकते हैं।

उदाहरण कोड

#include <iostream>
#include <unistd.h>
using namespace std;

int main() {
    int a[15] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };
    int odd_sum = 0, even_sum = 0, n, i;
    n = fork(); // प्रोसेस विभाजित करें
    if (n > 0) { // जब n 0 नहीं है, तो यह पैरेंट प्रोसेस है
        for (int i : a) {
            if (i % 2 == 0)
                even_sum = even_sum + i;
        }
        cout << "पैरेंट प्रोसेस " << endl;
        cout << "सम संख्याओं का योग: " << even_sum << endl;
    } else { // जब n 0 है, तो यह चाइल्ड प्रोसेस है
        for (int i : a) {
            if (i % 2 != 0)
                odd_sum = odd_sum + i;
        }
        cout << "चाइल्ड प्रोसेस " << endl;
        cout << "विषम संख्याओं का योग: " << odd_sum << endl;
    }
    return 0;
}

आउटपुट

पैरेंट प्रोसेस
सम संख्याओं का योग: 56
चाइल्ड प्रोसेस
विषम संख्याओं का योग: 64
  1. C++ का उपयोग करके फुटबॉल पर पेंटागन और हेक्सागन की संख्या ज्ञात करें C++ का उपयोग करके फुटबॉल पर पेंटागन और हेक्सागन की संख्या ज्ञात करें

    जैसा कि हम सभी जानते हैं, पेंटागन और हेक्सागन फुटबॉल के समान रूप से आवश्यक भाग हैं। ये आकृतियाँ एक पहेली की तरह एक साथ फिट होती हैं ताकि एक पूरी तरह से गोलाकार आकार बनाया जा सके। तो यहाँ हमारे पास एक फुटबॉल है, जिसमें हमें हेक्सागन और पेंटागन ढूंढने हैं।हम समस्या को आसानी से हल करने के लिए यूलर विशे

  1. - C++ में % ऑपरेटर के बिना 3 और 5 के गुणज

    हम % ऑपरेटर का उपयोग करके बिना किसी बाधा के गुणज ढूंढ सकते हैं। लेकिन, समस्या बताती है कि हम % ऑपरेटर का उपयोग नहीं कर सकते। यहां, हम + ऑपरेटर का उपयोग करते हैं। हम पिछले गुणज में 3 या 5 जोड़कर गुणज प्राप्त कर सकते हैं। आइए एक उदाहरण देखते हैं। इनपुट 15 आउटपुट 1 2 3 - Multiple of 3 4 5 - Multiple

  1. OpenCV में C++ का उपयोग करके इमेज कैसे लोड करें और दिखाएं? OpenCV में C++ का उपयोग करके इमेज कैसे लोड करें और दिखाएं?

    इस विषय में, हम निर्धारित करेंगे कि C++ में OpenCV का उपयोग करके इमेज कैसे लोड करें और दिखाएं। OpenCV में इमेज लोड करने और दिखाने के लिए निम्नलिखित फ़ंक्शन आवश्यक हैं। Mat: Mat कोई फ़ंक्शन नहीं है। यह एक डेटा संरचना है, एक प्रकार का वेरिएबल। C++ में int, char, string वेरिएबल प्रकारों की तरह, Mat Op