Бинарный Поиск В Массиве

31.10.2011
15
0
#1
Используя алгоритм бинарного поиска определите, содержит ли ранее упорядоченный массив заданное действительное число. Если содержит, то выведите индекс искомого элемента.

Добавлено: ПРОШУ ПАМАГИТЕ ОЧЕНЬ НАДО СДЕЛАЙТЕ ПОЖАЛУЙСТО ЧЕРЕЗ ЦЫКЛЫ НА C++Builder 6..
ЗАРАНЕЕ СПАСИБО. :( ;) :please: :please:
 
R

Rivass

#2
C++:
#include<stdio.h>
#include<stdlib.h>
int a[50],n,k,i,j;
void main(){
scanf_s ("%d%d",&n,&k); // Вводим количество символов в массиве и заданное действительное число
for(i=0;i<n;i++)
scanf_s ("%d",&a[i]); // Вводим массив количеством n
for(j=0,i=1;i<n;i++)
{
if(abs(k-a[j])>abs(k-a[i]))
j=i;
}
i=0;
while (a[i]!=a[j]) 
{
i++;
}
printf_s ("%d index=%d\n",a[j],i);
}
Давно еще подобную лабу делал, помоему оно)
 
31.10.2011
15
0
#3
Спс но это не метот бинарного поиска!!!! Метод бинарного поиска в масиве это:::: ---- делиться массив попалам нужный элемент сравнивается с средним элементом массива. Если элемент больше среднего то он находится слева иначе справа.. Далше опять делится попалам полуеный массив где находится элемнт и тоже самое пака не совпадут границы!!!!! :)
 

Vadik(R)

Well-known member
12.12.2007
469
0
#5
Ппц, ну такие задачки же, там на википедии или алголисте вроде есть полный код решения этой задачи. Вот тебе.