Програма с++. Допоможіть будь ласка
Скласти опис класу Polynom3 багаточленів 3 ступеня від однієї змінної, що задаються
масивом коефіцієнтів.
Передбачити методи перевантаження операцій копіювання operator=(), складання
operator+(), віднімання operator-() і множення operator*() многочленів з отриманням
нового об'єкта - многочлена, друк (виведення в потік).
Ответы
Ответ:
#include <iostream>
using namespace std;
const int DEGREE = 3;
class Polynom3 {
private:
double coefficients[DEGREE + 1];
public:
Polynom3(double a = 0, double b = 0, double c = 0, double d = 0) {
coefficients[0] = a;
coefficients[1] = b;
coefficients[2] = c;
coefficients[3] = d;
}
Polynom3 operator=(const Polynom3& other) {
for (int i = 0; i <= DEGREE; i++) {
coefficients[i] = other.coefficients[i];
}
return *this;
}
Polynom3 operator+(const Polynom3& other) {
Polynom3 result;
for (int i = 0; i <= DEGREE; i++) {
result.coefficients[i] = coefficients[i] + other.coefficients[i];
}
return result;
}
Polynom3 operator-(const Polynom3& other) {
Polynom3 result;
for (int i = 0; i <= DEGREE; i++) {
result.coefficients[i] = coefficients[i] - other.coefficients[i];
}
return result;
}
Polynom3 operator*(const Polynom3& other) {
Polynom3 result;
for (int i = 0; i <= DEGREE; i++) {
for (int j = 0; j <= DEGREE; j++) {
result.coefficients[i+j] += coefficients[i] * other.coefficients[j];
}
}
return result;
}
void print() {
for (int i = DEGREE; i >= 0; i--) {
cout << coefficients[i] << "x^" << i << " ";
}
cout << endl;
}
};
int main() {
Polynom3 p1(1, 2, 3, 4), p2(5, 6, 7, 8);
Polynom3 p3 = p1 + p2;
p3.print();
return 0;
}