Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "CPolynom.h"
- CPolynom::CPolynom() {
- this->order = 0;
- this->exp = 0;
- this->coef = 0;
- this->polyCoef = nullptr;
- }
- CPolynom::CPolynom(int order) {
- this->order = order;
- polyCoef = new double[order + 1];
- for (int i = 0; i < order; i++) {
- this->polyCoef[i] = 0;
- }
- }
- void CPolynom::Coef(int exp, double coef) {
- if (exp >= order || exp < 0)
- std::cout << "Eksponent nije validan " << std::endl;
- this->polyCoef[exp] = coef;
- }
- CPolynom* CPolynom::Add(CPolynom poly1, CPolynom poly2) {
- double* temp;
- int i;
- if (poly1.order > poly2.order) {
- temp = new double[poly1.order];
- for (i = 0; i < poly2.order; i++)
- temp[i] = poly1.polyCoef[i] + poly2.polyCoef[i];
- for (; i < poly1.order; i++)
- temp[i] = poly1.polyCoef[i];
- }
- else {
- temp = new double[poly2.order];
- for (i = 0; i < poly1.order; i++)
- temp[i] = poly2.polyCoef[i] + poly1.polyCoef[i];
- for (; i < poly2.order; i++)
- temp[i] = poly2.polyCoef[i];
- }
- CPolynom* result = new CPolynom(i);
- result->polyCoef = new double[i];
- memcpy(result->polyCoef, temp, sizeof(double)*i);
- delete[] temp;
- return result;
- }
- CPolynom* CPolynom::Mul(CPolynom poly1, CPolynom poly2) {
- CPolynom* result = new CPolynom(poly1.order + poly2.order);
- for (int i = 0; i < poly1.order; i++)
- for (int j = 0; j < poly2.order; j++)
- result->polyCoef[i + j] += poly1.polyCoef[i] * poly2.polyCoef[j];
- return result;
- }
- void CPolynom::Print() {
- for (int i = 0; i < order; i++) {
- std::cout << polyCoef[i] << " " << std::endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement