Vendredi 23 septembre 2016
Exercice 14. Implémenter une classe de polynômes génériques selon l’in- terface ci-dessous. Faire quelques exemples de calcul sur des polynômes à coefficients réels ou complexes. Faire des calculs sur les polynômes à coeffi- cients dansZ/nZ. La multiplication peut être implémentée avec l’algorithme naturel ou avec celui de Karatsuba.
#include <iostream>
#include <vector >
using namespace std ;
template <class T> class polynome { v e c t o r <T> c o e f f ;
const static char var = ’ x ’ ; public:
polynome (const T a = 0 , int n = 0 ) ; // l e monome a . var^n polynome (int, const T ⇤) ;
bool nul ( ) const; int degre ( ) const;
T& c o e f f i c i e n t (int i ) {return c o e f f [ i ] ; } ; T c o e f f i c i e n t (int i ) const {return c o e f f [ i ] ; } ;
friend polynome<T> operator+ (const polynome<T>&, const polynome<T>&);
friend polynome<T> operator⇤ (const polynome<T>&, const polynome<T>&);
polynome<T> d e r i v e e ( ) const;
T operator( ) (const T&) const; // v a l e u r en un p o i n t
polynome<T> operator( ) (const polynome<T>&); // composition friend ostream& operator<< ( ostream& , const polynome &);
} ;
Exercice 15. On devrait utiliser la STL aussi souvent que possible. Réécrire tris pour qu’il utilise la classe générique vector.