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

पॉलीनोमियल के अवकलज के लिए C++ प्रोग्राम


पॉलीनोमियल टर्म वाली एक स्ट्रिंग दी गई है, कार्य उस पॉलीनोमियल के अवकलज का मूल्यांकन करना है।

पॉलीनोमियल क्या है?

पॉलीनोमियल दो शब्दों से आता है: - "पॉली" जिसका अर्थ "कई" और "नोमियल" का अर्थ "टर्म्स" है, जिसमें कई टर्म्स शामिल होते हैं। पॉलीनोमियल एक्सप्रेशन एक ऐसा एक्सप्रेशन है जिसमें वेरिएबल्स, कोएफिशिएंट्स और एक्सपोनेंट्स होते हैं, जिसमें केवल वेरिएबल(एस) के जोड़, गुणा और घटाव के ऑपरेशन शामिल होते हैं।

पॉलीनोमियल का उदाहरण

x² + x + 1

पॉलीनोमियल p(x) = mxⁿ का अवकलज होगा -

m * n * x^(n-1)

उदाहरण

इनपुट: str = "2x^3 +1x^1 + 3x^2"    val = 2
आउटपुट: 37
व्याख्या: 6x^2 + 1x^0 + 6x^1
x = 2 रखने पर
6*4 + 1 + 6*2 = 24 + 1 + 12 = 37

इनपुट: str = "1x^3"    val = 2
आउटपुट: 12
व्याख्या: 1 * 3 * x^2
x = 2 रखने पर
3 * 4 = 12

उपरोक्त समस्या को हल करने के लिए हम जिस दृष्टिकोण का उपयोग करेंगे -

  • इनपुट को एक स्ट्रिंग और x के मान के रूप में लें
  • अब स्ट्रिंग को पार करें और अंकों और वेरिएबल्स की जांच करें।
  • स्ट्रिंग को जोड़ते और पार करते रहें जब तक हमें '+' न मिल जाए।
  • फिर m * n * x^(n-1)।
  • परिणाम वापस करें।

एल्गोरिदम

शुरुआत
चरण 1 → फंक्शन long long term(string polyterm, long long val) में
   coeffStr = "" घोषित और प्रारंभ करें
   i घोषित करें
   लूप i = 0 और polyterm[i] != 'x' और i++ के लिए
      coeffStr.push_back(polyterm[i]) कॉल करें
      coeff = atol(coeffStr.c_str()) सेट करें
      powStr = "" घोषित और प्रारंभ करें
      लूप i = i + 2 और i != polyterm.size() और i++ के लिए
        powStr.push_back(polyterm[i])
        power = atol(powStr.c_str()) सेट करें
      coeff * power * pow(val, power - 1) वापस करें

चरण 2 → फंक्शन long long value(string& str, int val) में
   ans = 0 सेट करें
   istringstream is(str) कॉल करें
   string polyterm घोषित करें
   लूप जब तक is >> polyterm
      यदि polyterm == "+" तो,
        जारी रखें
      अन्यथा
        ans = (ans + term(polyterm, val)) सेट करें
   ans वापस करें

चरण 3 → फंक्शन int main() में
   str = "2x^3 + 1x^1 + 3x^2" घोषित और प्रारंभ करें
   val = 2 घोषित और प्रारंभ करें
   value(str, val) द्वारा प्राप्त मान प्रिंट करें
रोकें

उदाहरण

#include 
#include 
#include 
using namespace std;

long long term(string polyterm, long long val) {
    // गुणांक ढूंढने के लिए
    string coeffStr = "";
    int i;
    for (i = 0; polyterm[i] != 'x'; i++)
        coeffStr.push_back(polyterm[i]);
    long long coeff = atol(coeffStr.c_str());

    // पावर मान प्राप्त करने के लिए
    string powStr = "";
    for (i = i + 2; i != polyterm.size(); i++)
        powStr.push_back(polyterm[i]);
    long long power = atol(powStr.c_str());

    // ax^n के लिए, हम a(n-1)x^(n-1) वापस करते हैं
    return coeff * power * pow(val, power - 1);
}

long long value(string& str, int val) {
    long long ans = 0;
    // टोकन में इनपुट प्राप्त करने के लिए istringstream का उपयोग
    istringstream is(str);
    string polyterm;
    while (is >> polyterm) {
        // जांचें कि क्या टोकन '+' के बराबर है तो
        // स्ट्रिंग के साथ जारी रखें
        if (polyterm == "+")
            continue;
        // अन्यथा उस विशेष टर्म का अवकलज ढूंढें
        else
            ans = (ans + term(polyterm, val));
    }
    return ans;
}

// मुख्य फंक्शन
int main() {
    string str = "2x^3 + 1x^1 + 3x^2";
    int val = 2;
    cout << value(str, val);
    return 0;
}

आउटपुट

37

  1. C++ में अष्टफलक का पृष्ठीय क्षेत्रफल C++ में अष्टफलक का पृष्ठीय क्षेत्रफल

    अष्टफलक क्या है?अष्टफलक शब्द ग्रीक शब्दों से लिया गया है जहां, अष्ट का अर्थ आठ है और फलक फेस निर्दिष्ट करता है। ज्यामिति में अष्टफलक एक 3-D प्लेटोनिक या नियमित ठोस है जिसमें आठ फलक होते हैं। अन्य आकृतियों की तरह अष्टफलक के भी गुण हैं जो हैं -6 पॉलीहेड्रॉन शीर्ष12 पॉलीहेड्रॉन किनारे8 समबाहु फलकनीचे अ

  1. C++ में द्वादशफलक का पृष्ठीय क्षेत्रफल C++ में द्वादशफलक का पृष्ठीय क्षेत्रफल

    द्वादशफलक क्या है?द्वादशफलक शब्द ग्रीक शब्दों से लिया गया है जहां, द्वादश का अर्थ बारह है और फलक फेस निर्दिष्ट करता है। ज्यामिति में द्वादशफलक एक 3-D प्लेटोनिक या नियमित ठोस है जिसमें बारह सपाट फलक होते हैं। अन्य आकृतियों की तरह द्वादशफलक के भी गुण हैं जो हैं -20 पॉलीहेड्रॉन शीर्ष30 पॉलीहेड्रॉन किना

  1. C++ में क्विकसॉर्ट प्रोग्राम C++ में क्विकसॉर्ट प्रोग्राम

    क्विकसॉर्ट क्या है? क्विकसॉर्ट एक सॉर्टिंग तकनीक है जो अनसॉर्टेड सूची (सरणी) को सॉर्ट करने के लिए तुलनाओं का उपयोग करती है। क्विकसॉर्ट को पार्टीशन एक्सचेंज सॉर्ट के नाम से भी जाना जाता है। यह एक स्थिर सॉर्ट नहीं है, क्योंकि समान सॉर्ट आइटम्स का सापेक्ष क्रम संरक्षित नहीं रहता। क्विकसॉर्ट एक सरणी प