#define FUNC(x) ((*func)(x)) float midpnt(float (*func)(float), float a, float b, int n) { float x,tnm,sum,del,ddel; static float s; int it,j; if (n == 1) { return (s=(b-a)*FUNC(0.5*(a+b))); } else { for(it=1,j=1;j