Using dynamicarrays, implement a polynomial class with polynomial addition, subtraction, and multiplication.
Using dynamicarrays, implement a polynomial class with polynomial addition, subtraction, and multiplication.
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
Use C++
Using dynamicarrays, implement a polynomial class with polynomial addition, subtraction, and multiplication.
Implement addition and subtraction functions first.
Multiplication function –extra point
![## Polynomial Class Implementation
The image provides a code snippet for implementing a Polynomial class in C++ and explains its structure with diagrams illustrating how to handle polynomial expressions dynamically.
### Code Explanation:
```cpp
class Polynomial
{
public:
Polynomial();
Polynomial(int d);
Polynomial(int* c, int d);
int getDegree();
int* getCoef();
friend Polynomial add(Polynomial x, Polynomial y);
friend Polynomial subtract(Polynomial x, Polynomial y);
// friend Polynomial multiply(Polynomial x, Polynomial y); // extra point
private:
int* coef;
int degree;
};
```
- **Constructors:**
- `Polynomial()`: Default constructor.
- `Polynomial(int d)`: Initializes a polynomial with a specific degree `d`.
- `Polynomial(int* c, int d)`: Initializes with coefficients `c` and degree `d`.
- **Methods:**
- `int getDegree()`: Returns the degree of the polynomial.
- `int* getCoef()`: Returns the coefficients array.
- **Friend Functions:**
- `add(Polynomial x, Polynomial y)`: Adds two polynomials.
- `subtract(Polynomial x, Polynomial y)`: Subtracts one polynomial from another.
- `multiply(Polynomial x, Polynomial y)`: (Commented out) Multiplies two polynomials.
### Note:
> *If needed, you can add additional member functions.*
### Diagram Explanation:
- **Object A:**
- Polynomial: \( A = 4x^7 + 5x^6 + 3x^3 + 2x^1 + 8x^0 \)
- Degree: 7
- Coefficients Array: `[8, 0, 2, 0, 0, 3, 0, 5, 4]`
- **Object B:**
- Polynomial: \( B = 6x^8 + 3x^6 + 4x^5 + 8x^3 + 3x^1 + 2x^0 \)
- Degree: 8
- Coefficients Array: `[2, 0, 3, 0, 0, 0, 3, 0, 6]`
### Graphs Explanation:
- **Dynamic Array:**
- Both objects use a dynamic array](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fcdbdf4c8-5459-45de-99f8-cd8d71031beb%2F07b52563-37af-444b-b3f9-8e1bb7705e03%2Fkwj2758_processed.png&w=3840&q=75)
Transcribed Image Text:## Polynomial Class Implementation
The image provides a code snippet for implementing a Polynomial class in C++ and explains its structure with diagrams illustrating how to handle polynomial expressions dynamically.
### Code Explanation:
```cpp
class Polynomial
{
public:
Polynomial();
Polynomial(int d);
Polynomial(int* c, int d);
int getDegree();
int* getCoef();
friend Polynomial add(Polynomial x, Polynomial y);
friend Polynomial subtract(Polynomial x, Polynomial y);
// friend Polynomial multiply(Polynomial x, Polynomial y); // extra point
private:
int* coef;
int degree;
};
```
- **Constructors:**
- `Polynomial()`: Default constructor.
- `Polynomial(int d)`: Initializes a polynomial with a specific degree `d`.
- `Polynomial(int* c, int d)`: Initializes with coefficients `c` and degree `d`.
- **Methods:**
- `int getDegree()`: Returns the degree of the polynomial.
- `int* getCoef()`: Returns the coefficients array.
- **Friend Functions:**
- `add(Polynomial x, Polynomial y)`: Adds two polynomials.
- `subtract(Polynomial x, Polynomial y)`: Subtracts one polynomial from another.
- `multiply(Polynomial x, Polynomial y)`: (Commented out) Multiplies two polynomials.
### Note:
> *If needed, you can add additional member functions.*
### Diagram Explanation:
- **Object A:**
- Polynomial: \( A = 4x^7 + 5x^6 + 3x^3 + 2x^1 + 8x^0 \)
- Degree: 7
- Coefficients Array: `[8, 0, 2, 0, 0, 3, 0, 5, 4]`
- **Object B:**
- Polynomial: \( B = 6x^8 + 3x^6 + 4x^5 + 8x^3 + 3x^1 + 2x^0 \)
- Degree: 8
- Coefficients Array: `[2, 0, 3, 0, 0, 0, 3, 0, 6]`
### Graphs Explanation:
- **Dynamic Array:**
- Both objects use a dynamic array
![The image contains information about polynomial expressions and their operations. Here's the transcription suitable for an educational website:
---
**Polynomial Operations Example**
We are given two polynomials, \( A \) and \( B \), and we will explore their addition and subtraction.
**Polynomial A:**
\[ A = 4x^7 + 5x^6 + 3x^3 + 2x^1 + 8x^0 \]
- **Object A:**
- Coefficients: \( [0, 0, 0, 3, 0, 0, 5, 4] \)
- Degree: 7
**Polynomial B:**
\[ B = 6x^8 + 3x^6 + 4x^5 + 8x^3 + 3x^1 + 2x^0 \]
- **Object B:**
- Coefficients: \( [2, 3, 0, 8, 0, 4, 3, 0, 6] \)
- Degree: 8
**Addition of Polynomials (A + B):**
The result of adding polynomials \( A \) and \( B \) is:
\[ 6x^8 + 4x^7 + 8x^6 + 4x^5 + 11x^3 + 5x^1 + 10x^0 \]
- Combined Coefficients: \( [10, 5, 0, 11, 0, 4, 8, 4, 6] \)
- Resulting Degree: 8
**Subtraction of Polynomials (A - B):**
The result of subtracting polynomial \( B \) from \( A \) is:
\[ 6x^8 + 4x^7 + 2x^6 - 4x^5 - 5x^3 - x^1 + 6x^0 \]
- Combined Coefficients: \( [6, -1, 0, -5, 0, -4, 2, 4, 6] \)
- Resulting Degree: 8
**Explanation of the Tables:**
The tables display the coefficients for each power of x, starting from \( x^0 \) up to \( x^8 \), where applicable. The degree](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fcdbdf4c8-5459-45de-99f8-cd8d71031beb%2F07b52563-37af-444b-b3f9-8e1bb7705e03%2Folds88_processed.png&w=3840&q=75)
Transcribed Image Text:The image contains information about polynomial expressions and their operations. Here's the transcription suitable for an educational website:
---
**Polynomial Operations Example**
We are given two polynomials, \( A \) and \( B \), and we will explore their addition and subtraction.
**Polynomial A:**
\[ A = 4x^7 + 5x^6 + 3x^3 + 2x^1 + 8x^0 \]
- **Object A:**
- Coefficients: \( [0, 0, 0, 3, 0, 0, 5, 4] \)
- Degree: 7
**Polynomial B:**
\[ B = 6x^8 + 3x^6 + 4x^5 + 8x^3 + 3x^1 + 2x^0 \]
- **Object B:**
- Coefficients: \( [2, 3, 0, 8, 0, 4, 3, 0, 6] \)
- Degree: 8
**Addition of Polynomials (A + B):**
The result of adding polynomials \( A \) and \( B \) is:
\[ 6x^8 + 4x^7 + 8x^6 + 4x^5 + 11x^3 + 5x^1 + 10x^0 \]
- Combined Coefficients: \( [10, 5, 0, 11, 0, 4, 8, 4, 6] \)
- Resulting Degree: 8
**Subtraction of Polynomials (A - B):**
The result of subtracting polynomial \( B \) from \( A \) is:
\[ 6x^8 + 4x^7 + 2x^6 - 4x^5 - 5x^3 - x^1 + 6x^0 \]
- Combined Coefficients: \( [6, -1, 0, -5, 0, -4, 2, 4, 6] \)
- Resulting Degree: 8
**Explanation of the Tables:**
The tables display the coefficients for each power of x, starting from \( x^0 \) up to \( x^8 \), where applicable. The degree
Expert Solution

This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 2 steps

Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education

Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON

Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON

C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON

Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning

Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education