E' molto simile al precedente codice a parte il fatto che fa il calcolo direttamente nel main senza usare una funzione apposita (derive). E per questo non ha necessità di puntatori a funzioni per passare quella in esame. Il primo codice è sicuramente migliore.

In questo devi usare i double e non i float.

P.S. Ma tu scrivi programmi capendoli o cerchi i sorgenti e li copi soltanto?