Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2012, 21:50   #1
Kolupaev
 
Регистрация: 12.12.2012
Сообщений: 5
Восклицание Функция binary_search. Проверка работоспособности.

Написал функцию бинарного поиска, вот только правильно она работает для первой половины массива, а для второй возвращает -1, как будто искомого элемента в массиве нет. Пожалуйста, помогите разобраться.

Код:
#include "stdafx.h"
#include <iostream>
using namespace std;

int binary_search(int*A, int x, int l, int r){        //A-массив, х-искомое число, l и r - границы массива
	while (r-l>1){          //Пока разность больше одного   
	int cent=(r+l)/2;      // Находим центральный элемент массива
	if(A[cent]==x) {          //Проверяем, является ли центр искомым элементом
		l=cent;
        return cent;
	}
	if (A[cent]<x)         //Если искомы элемент больше центра
	l=cent;                 //Сдвигаем левую границу на центр массива
	else
		r=cent;              //Сдвигаем правую границу на центр массива
	}
		for(int i=l; i<=r; i++){
			if(A[i]==x)
				return i;
		}
		return -1;
}
void main(){
	
	int A[6]={15,23,66,31,5,32};
	int n=binary_search(A,31,0,5);
	cout<<n<<endl;
	system("pause");
}
Kolupaev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка работоспособности ссылок (наличия файла) из таблицы excel sashmedv Microsoft Office Excel 6 08.01.2014 15:49
Проверка работоспособности http прокси (synapse). Как? trafbite Работа с сетью в Delphi 0 13.04.2012 14:51
восстановление работоспособности флеш Joker26 Фриланс 1 12.12.2011 00:13
Найдите причину не работоспособности программы Drago56 Общие вопросы C/C++ 14 17.12.2010 15:01
binary_search поиск нужного элемента. the_deer_one Общие вопросы C/C++ 6 30.08.2010 20:22