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

C++ प्रोग्राम क्लास टेम्प्लेट के साथ अलग-अलग आइटम जोड़ने के लिए

मान लीजिए कि हम एक ऐसा वर्ग बनाना चाहते हैं जो दो पूर्णांक, दो फ्लोट और दो तार जोड़ सके (स्ट्रिंग जोड़ मूल रूप से तारों को जोड़ना है)। पहले इनपुट के रूप में हम एक संख्या n लेते हैं जो दर्शाता है कि n अलग-अलग ऑपरेशन हैं। प्रत्येक ऑपरेशन में पहला आइटम प्रकार [int, float, string] है और दूसरा और तीसरा दो ऑपरेंड हैं। तो प्रत्येक पंक्ति में तीन तत्व होंगे। हमें उन्हें पढ़ना होगा और बताए अनुसार ऑपरेशन करना होगा।

तो, अगर इनपुट पसंद है

5
int 5 7
int 6 9
float 5.25 9.63
string hello world
string love C++

तो आउटपुट होगा

12
15
14.88
helloworld
loveC++

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • AddItems नामक एक वर्ग को वर्ग टेम्पलेट के साथ परिभाषित करें। इसके दो फंक्शन ऐड () और कॉन्टेनेट () हैं। add() पूर्णांकों और फ़्लोट्स को जोड़ देगा, और concatenate() स्ट्रिंग्स को जोड़ देगा।

  • मुख्य विधि से, निम्न कार्य करें

  • इनिशियलाइज़ करने के लिए:=0, जब मैं

    • प्रकार :=वर्तमान प्रकार

    • यदि प्रकार "फ्लोट" के समान है, तो:

      • दो ऑपरेंड लें e1 और e2

      • आइटम e1 के साथ Myfloat नामक फ्लोट के AddItems का ऑब्जेक्ट बनाएं

      • myfloat.add(e2) पर कॉल करें और डिस्प्ले करें

    • अन्यथा जब प्रकार "int" के समान हो, तब:

      • दो ऑपरेंड लें e1 और e2

      • आइटम e1 के साथ Myint नामक फ्लोट के AddItems का ऑब्जेक्ट बनाएं

      • myint.add(e2) पर कॉल करें और डिस्प्ले करें

    • अन्यथा जब प्रकार "स्ट्रिंग" के समान है, तो:

      • दो ऑपरेंड लें e1 और e2

      • आइटम e1 के साथ Mystring नामक फ्लोट के AddItems का ऑब्जेक्ट बनाएं

      • mystring.concatenate(e2) को कॉल करें और प्रदर्शित करें

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <iostream>
using namespace std;
template <class T>
class AddItems {
    T element;
  public:
    AddItems (T arg) {
        element=arg;
    }
    T add (T e2) {
        return element+e2;
    }
    T concatenate (T e2) {
        return element+e2;
    }
};
int main(){
    int n,i;
    cin >> n;
    for(i=0;i<n;i++) {
        string type;
        cin >> type;
        if(type=="float") {
            float e1,e2;
            cin >> e1 >> e2;
            AddItems<float> myfloat (e1);
            cout << myfloat.add(e2) << endl;
        }
        else if(type == "int") {
            int e1, e2;
            cin >> e1 >> e2;
            AddItems<int> myint (e1);
            cout << myint.add(e2) << endl;
        }
        else if(type == "string") {
            string e1, e2;
            cin >> e1 >> e2;
            AddItems<string> mystring (e1);
            cout << mystring.concatenate(e2) << endl;
        }
    }
}

इनपुट

5
int 5 7
int 6 9
float 5.25 9.63
string hello world
string love C++

आउटपुट

12
15
14.88
helloworld
loveC++

  1. सी ++ प्रोग्राम एन चोटियों के साथ क्रमपरिवर्तन खोजने के लिए

    A[i+1], तो अनुक्रमणिका i को सरणी A का शिखर कहा जाता है। अगर यह संभव नहीं है, तो -1 लौटें। तो, अगर इनपुट n =5 की तरह है; k =2, तो आउटपुट [2, 4, 1, 5, 3] होगा, अन्य उत्तर भी संभव हैं। कदम इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - if k > (n - 1) / 2, then:    return -1 Define an a

  1. C++ प्रोग्राम कुछ शर्तों के साथ ग्राफ बनाने के लिए

    मान लीजिए कि हमारे पास दो नंबर एन और के हैं। विचार करें कि एन तत्वों के साथ एक अप्रत्यक्ष ग्राफ है। N शीर्ष निम्नलिखित शर्तों को पूरा करते हैं - ग्राफ़ सरल और जुड़ा हुआ है शीर्षों की संख्या 1 से N तक होती है मान लीजिए कि ग्राफ में किनारों की संख्या M है। किनारों को 1 से M तक क्रमांकित किया

  1. C++ में दो बाइनरी स्ट्रिंग्स जोड़ने का प्रोग्राम

    बाइनरी नंबर के साथ दो स्ट्रिंग्स को देखते हुए, हमें उन दो बाइनरी स्ट्रिंग्स को जोड़कर प्राप्त परिणाम को खोजना होगा और परिणाम को बाइनरी स्ट्रिंग के रूप में वापस करना होगा। बाइनरी नंबर वे नंबर होते हैं जिन्हें या तो 0 या 1 के रूप में व्यक्त किया जाता है। 2 बाइनरी नंबर जोड़ते समय बाइनरी जोड़ नियम होता