3. Алгоритм блочного равномерного поиска
3.1. Текст программы на С++:
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<stdio.h>
#include "stdafx.h"
double f(double x)
{double f;
f=pow(x, 3)-x+exp(-x);
return f;
}
void main()
{double a=0, b=1, x[1000], y[1000], xl, yl;
const double e=0.00001, d = e/10; //pogreshnost i delta
long i, j, n, N, k, l; //n - razmer bloka, N - chislo eksperimentov
cout<<"Vv. razmer bloka n ";
cin>>n;
N=0; //schetchik experimentov
if (n%2==0)
/*razmer bloka - chetnoe chislo*/
{k=n/2;
while (b-a> 2*e)
{for (j=1; j<k+1; j++) //chet nachin. c 1 ^^
{x[2*j]=a+j*(b-a)/(k+1);
x[2*j-1]=x[2*j]-d;
}
for (i=1; i<n+1; i++)
y[i]=f(x[i]);
x[0]=a;
x[n+1]=b;