Предмет: Информатика, автор: javor4170

Програма с++. Допоможіть будь ласка
Скласти опис класу Polynom3 багаточленів 3 ступеня від однієї змінної, що задаються
масивом коефіцієнтів.
Передбачити методи перевантаження операцій копіювання operator=(), складання
operator+(), віднімання operator-() і множення operator*() многочленів з отриманням
нового об'єкта - многочлена, друк (виведення в потік).

Ответы

Автор ответа: honvert
1

Ответ:

#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;

}

Похожие вопросы