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

C++ में सरणी एक्सप्रेशन का मूल्यांकन (संख्याएँ, + और -)


इस समस्या में, हमें एक सरणी arr[] दी गई है जिसमें n कैरेक्टर मान होते हैं जो एक एक्सप्रेशन को दर्शाते हैं। हमारा कार्य संख्याओं, + और - वाले सरणी एक्सप्रेशन का मूल्यांकन करना है।

एक्सप्रेशन में केवल संख्याएं, '+' कैरेक्टर और '-' कैरेक्टर होते हैं।

उदाहरण से समझते हैं:

इनपुट: arr = {"5", "+", "2", "-8", "+", "9"}

आउटपुट: 8

व्याख्या:

एक्सप्रेशन है 5 + 2 - 8 + 9 = 8

समाधान दृष्टिकोण:

समस्या का समाधान प्रत्येक ऑपरेशन को करके और फिर मान वापस करके पाया जाता है। प्रत्येक संख्या को उसके समतुल्य पूर्णांक मान में बदलने की आवश्यकता होती है।

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला प्रोग्राम:

उदाहरण

#include <bits/stdc++.h> 
using namespace std; 

int solveExp(string arr[], int n) { 
    if (n == 0) 
        return 0; 
    
    int value, result; 
    result = stoi(arr[0]); 
    
    for (int i = 2; i < n; i += 2) { 
        int value = stoi(arr[i]); 
        if (arr[i - 1] == "+") 
            result += value; 
        else 
            result -= value; 
    } 
    return result; 
} 

int main() { 
    string arr[] = { "5", "-", "3", "+", "8", "-", "1" }; 
    int n = sizeof(arr) / sizeof(arr[0]); 
    cout << "The solution of the equation is " << solveExp(arr, n); 
    return 0; 
}

आउटपुट:

The solution of the equation is 9

  1. - C++ में O(n) समय और O(1) अतिरिक्त स्थान में धनात्मक और ऋणात्मक संख्याओं को पुनर्व्यवस्थित करें

    हमें एक पूर्णांक प्रकार की सरणी दी गई है जिसमें धनात्मक और ऋणात्मक दोनों संख्याएँ हैं, मान लीजिए, arr[] किसी भी दिए गए आकार की। कार्य है सरणी को इस तरह पुनर्व्यवस्थित करना कि सभी धनात्मक और ऋणात्मक संख्याएँ वैकल्पिक स्थितियों पर हों और यदि अतिरिक्त धनात्मक या ऋणात्मक तत्व हैं तो उन्हें सरणी के अंत म

  1. - C++ में -1 और +1 की सरणी में आकार K के उपसमुच्चय का योग 0 है या नहीं जांचें

    इस समस्या में, हमें एक सरणी arr[] दी गई है जिसमें केवल 1 और -1 हैं और एक पूर्णांक मान k। हमारा कार्य जांचना है कि क्या -1 और +1 की सरणी में आकार K का कोई उपसमुच्चय है जिसका योग 0 है। समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट: arr[] = {-1, 1, -1, -1, 1 , 1, -1}, k = 4 आउटपुट: YES व्याख्या: आक

  1. C++ में उदाहरण के साथ एक्सप्रेशन ट्री C++ में उदाहरण के साथ एक्सप्रेशन ट्री

    एक एक्सप्रेशन ट्री एक विशेष प्रकार का बाइनरी ट्री है जिसमें ट्री का प्रत्येक नोड या तो एक ऑपरेटर या ऑपरेंड से बना होता है। लीफ नोड्स ट्री के एक ऑपरेंड को दर्शाते हैं। नॉन-लीफ नोड्स ट्री के एक ऑपरेटर को दर्शाते हैं। उदाहरण: इनफिक्स एक्सप्रेशन प्राप्त करने के लिए जिसे आसानी से हल किया जा सकता है, हम