23 lines
326 B
C
23 lines
326 B
C
|
|
void zbrak(float (*fx)(float), float x1, float x2, int n, float xb1[],
|
|
float xb2[], int *nb)
|
|
{
|
|
int nbb,i;
|
|
float x,fp,fc,dx;
|
|
|
|
nbb=0;
|
|
dx=(x2-x1)/n;
|
|
fp=(*fx)(x=x1);
|
|
for (i=1;i<=n;i++) {
|
|
fc=(*fx)(x += dx);
|
|
if (fc*fp <= 0.0) {
|
|
xb1[++nbb]=x-dx;
|
|
xb2[nbb]=x;
|
|
if(*nb == nbb) return;
|
|
|
|
}
|
|
fp=fc;
|
|
}
|
|
*nb = nbb;
|
|
}
|