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. सी ++ में static_cast

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

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

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

  1. एक सी ++ फ़ंक्शन में दो आयामी सरणी पास करना

    C++ फ़ंक्शन के तर्क के रूप में संपूर्ण सरणी को पारित करने की अनुमति नहीं देता है। हालांकि, आप किसी अनुक्रमणिका के बिना सरणी का नाम निर्दिष्ट करके किसी सरणी में एक सूचक पास कर सकते हैं। किसी फ़ंक्शन में 2D सरणी पास करने के तीन तरीके हैं - 2D सरणी के स्तंभों का आकार निर्दिष्ट करें void processArr(int