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

C++ में दो बहुपदों को गुणा करना


बहुपद के प्रत्येक पद के गुणांक एक सरणी में दिए गए हैं। हमें दो बहुपदों को गुणा करना है। आइए एक उदाहरण देखते हैं।

इनपुट

A = [1, 2, 3, 4] B = [4, 3, 2, 1]

आउटपुट

4x6 + 11x5 + 20x4 + 30x3 + 20x2 + 11x1 + 4

एल्गोरिदम

  • दो बहुपद आरंभ करें।
  • दो बहुपदों की लंबाई के साथ एक नई सरणी बनाएं।
  • दोनों बहुपदों पर पुनरावृति करें।
    • पहले बहुपद से एक पद लें और इसे दूसरे बहुपद के सभी पदों से गुणा करें।
    • परिणाम को परिणामी बहुपद में स्टोर करें।

कार्यान्वयन

निम्नलिखित C++ में उपरोक्त एल्गोरिदम का कार्यान्वयन है:

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

int *multiplyTwoPolynomials(int A[], int B[], int m, int n) { 
    int *productPolynomial = new int[m + n - 1]; 
    for (int i = 0; i < m + n - 1; i++) { 
        productPolynomial[i] = 0; 
    } 
    for (int i = 0; i < m; i++) { 
        for (int j = 0; j < n; j++) { 
            productPolynomial[i + j] += A[i] * B[j]; 
        } 
    } 
    return productPolynomial; 
} 

void printPolynomial(int polynomial[], int n) { 
    for (int i = n - 1; i >= 0; i--) { 
        cout << polynomial[i]; 
        if (i != 0) { 
            cout << "x^" << i; 
            cout << " + "; 
        } 
    } 
    cout << endl; 
} 

int main() { 
    int A[] = {1, 2, 3, 4}; 
    int B[] = {4, 3, 2, 1}; 
    int m = 4; 
    int n = 4; 
    cout << "First polynomial: "; 
    printPolynomial(A, m); 
    cout << "Second polynomial: "; 
    printPolynomial(B, n); 
    int *productPolynomial = multiplyTwoPolynomials(A, B, m, n); 
    cout << "Product polynomial: "; 
    printPolynomial(productPolynomial, m + n - 1); 
    return 0; 
}

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।

First polynomial: 4x^3 + 3x^2 + 2x^1 + 1 Second polynomial: 1x^3 + 2x^2 + 3x^1 + 4 Product polynomial: 4x^6 + 11x^5 + 20x^4 + 30x^3 + 20x^2 + 11x^1 + 4

  1. - C++ में static_cast

    static_cast का उपयोग सामान्य/साधारण प्रकार रूपांतरण के लिए किया जाता है। यह निहित प्रकार जबरदस्ती (implicit type coercion) के लिए भी जिम्मेदार कास्ट है और इसे स्पष्ट रूप से भी बुलाया जा सकता है। आपको इसका उपयोग फ्लोट को इंट में, चार को इंट में आदि जैसे मामलों में करना चाहिए। यह संबंधित प्रकार के क्

  1. - C++ में दो संख्याओं को गुणा करने का प्रोग्राम

    दो संख्याओं a और b का गुणा उनका गुणनफल देता है। a का मान b के मान जितनी बार जोड़ा जाता है ताकि a और b का गुणनफल प्राप्त हो सके। उदाहरण के लिए। 5 * 4 = 20 7 * 8 = 56 9 * 9 = 81 * ऑपरेटर का उपयोग करके दो संख्याओं को गुणा करने का प्रोग्राम * ऑपरेटर का उपयोग करके दो संख्याओं को गुणा करने का प्रोग्राम नि

  1. - C++ फ़ंक्शन में टू-डायमेंशनल ऐरे पास करना

    C++ पूरे ऐरे को फ़ंक्शन में आर्गुमेंट के रूप में पास करने की अनुमति नहीं देता। हालांकि, आप ऐरे के नाम को बिना इंडेक्स के निर्दिष्ट करके ऐरे का पॉइंटर पास कर सकते हैं। 2D ऐरे को फ़ंक्शन में पास करने के तीन तरीके हैं: 2D ऐरे के कॉलम का आकार निर्दिष्ट करें void processArr(int a[][10]) {    /