ВОПРОС · Q&A

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

4 ответов 5,2 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

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

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

Давно еще подобную лабу делал, помоему оно)
 
Спс но это не метот бинарного поиска!!!! Метод бинарного поиска в масиве это:::: ---- делиться массив попалам нужный элемент сравнивается с средним элементом массива. Если элемент больше среднего то он находится слева иначе справа.. Далше опять делится попалам полуеный массив где находится элемнт и тоже самое пака не совпадут границы!!!!! :)
 
<!--shcode--><pre><code class='sql'>SELECT AnyThing FROM SomeThing[/CODE]
 
Ппц, ну такие задачки же, там на википедии или алголисте вроде есть полный код решения этой задачи. Вот тебе.