Страница 1 из 1

помогите найти ошибку,пожалуйста!

Добавлено: 27 май 2013, 11:34
шшш
сортировка выполнена правильно,нужно найти ошибку во второй части,где происходит нахождение элемента методом интерполяции,не могу понять, где ошибка,подскажите,если кто знает,пожалуйста.

Код: Выделить всё

#include <iostream.h>
#include <math.h>
int main()
{int item;
int j,Np,N1,Nsr,temp,i,l,u,y,N;
float z;
int x[100]={1, 3, 5, 7, 9, 11, 13, 15, 17, 19,
21, 23, 25, 27, 29, 31, 33, 35, 37, 39,
41, 43, 45, 47, 49, 51, 53, 55, 57, 59,
61, 63, 65, 67, 69, 71, 73, 75, 77, 79,
81, 83, 85, 87, 89, 91, 93, 95, 97, 99,
2, 4, 6, 8, 0, 10, 12, 14, 16, 18,
20, 22, 24, 26, 28, 30, 32, 34, 36, 38,
40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
60, 62, 64, 66, 68, 70, 72, 74, 76, 78,
80, 82, 84, 86, 88, 90, 92, 94, 96, 98};
for (i=1; i<100;i++)
{N1=0;Np=i;
while (N1<Np)
{Nsr=(N1+Np)/2;
if (x[i]<x[Nsr])Np=Nsr;
else N1=Nsr+1; }
for (j=i; j>N1; j--)
{temp=x[j-1];
x[j-1]=x[j];
x[j]=temp;}}
cout<<"vvedite element"<<endl;
cin>>y;
for (l=x[0],u=x[99],z=(y-x[l])/(x[u]-x[l]);N=(l+u)*z;u++ )
if (y>x[N]) y=x[N+1];
else {if (y==x[N]);
cout<<x[N]<<endl;
else cout << "element ne naiden" << endl;}
system ("Pause"); 
return 0;
}