====== Klasy i ich konstruktory. ======
===== Zadania =====
==== Wielomian ====
W pliku nagłówkowym ''wielomian.h'' zadeklaruj klasę ''Wielomian'' zgodnie z opisem podanym na wykładzie.\\
class Wielomian
{
private :
int st;
double *wsp;
public :
Wielomian Pochodna(int ktora=1);
Wielomian();
Wielomian(int st, double *wsp);
Wielomian(Wielomian &);
˛
~Wielomian();
};
W pliku źródłowym ''wielomian.c'' zdefiniuj konstruktory, destruktor i metodę ''Pochodna()''. Zaimplementuj metodę ''Wypisz()'', która wyświetli wielomian w terminalu podając liczby rzeczywiste z dokładnością do 2 miejsc po przecinku.
Przykład: -1.32 x^3 + x + 3.12 \\
Zaimplementuj metodę ''Wczytaj()'', która wczyta z terminala współczynniki wielomianu.\\
Zaimplementuj zaprzyjaźnioną funkcję
Wielomian Dodaj(Wielomian &, Wielomian &);
Wielomian Iloczyn(Wielomian &, Wielomian &);
==== Liczby wymierne ====
W pliku ''wymierna.h'' zadeklaruj klasę wg. wzoru:
class Wymierna
{
private :
long licznik, mianownik;
long NWD(long a, long b);
public :
Wymierna(Wymierna &w);
Wymierna(long licznik,long mianownik);
Wymierna(long licznik);
void Wczytaj();
void Wypisz();
Wymierna Dodaj(Wymierna w);
Wymierna Pomnoz(Wymierna w);
};
W pliku ''wymierna.c'' zdefiniuj wymagane metody i napisz program testujący poprawność działania.
Metoda ''NWD()'' znajduje największy wspólny dzielnik dwóch liczb całkowitych. Wykorzystaj [[http://pl.wikipedia.org/wiki/Algorytm_Euklidesa|algorytm Euklidesa]] aby przechowywać liczby wymierne w skróconej postaci.
Zaimplementuj operacje dodawania i mnożenia jako zaprzyjaźnione funkcje zwracające referencje do nowego obiektu klasy Wymierna.