Polinoame rare

Un fişier binar conţine mai multe polinoame rare. Scrieţi un program implementat prin comandă disppoly numef n1 n2 ... care afişează polinoamele rare din fişierul numef, având numerele de ordine n1, n2, ...
Fiecare articol în fişier reprezintă un polinom rar, iar articolele din fişier au lungimi variabile. Pentru a putea accesa un polinom din fişier poate defini o funcţie care face o poziţionare în dreptul unui polinom cu numărul specificat. Pentru citirea polinoamelor în memorie, în vederea afişării lor, se va alocă dinamic memoria. Orice tablou auxiliar folosit va fi alocat/re-alocat dinamic în memorie.

Atenţie: NU se va citit întreg fişierul în memorie, ci se va folosi o variabilă de tip structură pentru citirea unui polinom.

Indicaţie: Un polinom rar este un polinom cu termeni puţini şi grad mare. Acest polinom se reprezintă prin: numărul termenilor nenuli, grad şi tabloul termenilor nenuli (alocat dinamic). În acest scop se consideră definiţiile:

typedef struct {
    double c;
    int exp;
} termen;

typedef struct {
    int ntn;
    int grd;
    termen *t;
} polinom_rar;

De exemplu, pentru polinomul

    \[P(x) = x^{2012} - 2x + 2013!\]

o variabilă polinom_rar p va avea valoarea: {3, 2012, {{1.0, 2012}, {-2.0, 1}, {2013.0, 0}}}.