Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include "DaThuc.h"
- #include <iostream>
- #include <math.h>
- using namespace std;
- istream& operator>>(istream &is, DaThuc &d)
- {
- cout << "Nhap x: "; is >> d.fX;
- cout << "Nhap bac da thuc: "; is >> d.iBac;
- d.fHeso = new float[];
- for (int i = 0; i <= d.iBac; i++)
- {
- cout << "He so thu " << i + 1 << ": "; is >> d.fHeso[i];
- }
- return is;
- }
- ostream& operator<<(ostream &os, DaThuc d)
- {
- for (int i = 0; i < d.iBac-1; i++)
- {
- os << d.fHeso[i] << "x" << d.fX << "^" << d.iBac - i << " + ";
- }
- os << d.fHeso[d.iBac - 1] << "x" << d.fX << " + ";
- os << d.fHeso[d.iBac];
- return os;
- }
- DaThuc::DaThuc()
- {
- iBac = 0;
- }
- DaThuc::DaThuc(float x,int n)
- {
- iBac = n;
- fX = x;
- fHeso = new float[];
- for (int i = 0; i <= n; i++)
- {
- cout << "He so thu " << i + 1 << ": "; cin >> fHeso[i];
- }
- }
- DaThuc::~DaThuc()
- {
- }
- double DaThuc::Calculate()
- {
- double result=0;
- if (iBac == 0)
- return 1;
- for (int i = 0; i < iBac; i++)
- {
- result = result + fHeso[i] * pow(fX, iBac - i);
- }
- return result;
- }
- //Copy cau truc cua mot da thuc
- DaThuc DaThuc::Clone()
- {
- DaThuc tmp;
- tmp.fX = fX;
- tmp.iBac = iBac;
- tmp.fHeso = new float[];
- return tmp;
- }
- DaThuc DaThuc::operator+(DaThuc d)
- {
- if (fX != d.fX)
- return DaThuc();
- DaThuc result;
- result.fX = fX;
- result.fHeso = new float[];
- int tmp;
- tmp = abs(iBac - d.iBac);
- if (iBac > d.iBac)
- {
- result.iBac = iBac;
- for (int i = 0; i <= iBac; i++)
- {
- if (i < d.iBac)
- result.fHeso[i] = fHeso[i];
- else
- result.fHeso[i] = fHeso[i] + d.fHeso[i - tmp];
- }
- }
- else
- {
- result.iBac=d.iBac;
- for (int i = 0; i <= d.iBac; i++)
- {
- if (i < iBac)
- result.fHeso[i] = d.fHeso[i];
- else
- result.fHeso[i] = d.fHeso[i] + fHeso[i - tmp];
- }
- }
- return result;
- }
- DaThuc DaThuc::operator-(DaThuc d)
- {
- DaThuc tmp = d.Clone();
- for (int i = 0; i <= d.iBac; i++)
- tmp.fHeso[i] = 0 - d.fHeso[i];
- return *this + tmp;
- }
Advertisement
Add Comment
Please, Sign In to add comment