Форум программистов, компьютерный форум CyberForum.ru

Двоичный поиск - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Структуры: создать список жителей города http://www.cyberforum.ru/cpp-beginners/thread844551.html
нужно создать список жителей города, работа со структурой. struct sp { char fami; // фамилия char name; // имя char otch; // отчество char ulic; //улица int numb; //№ дома int kwar; // № квартиры }
C++ Проверить, можно ли получить одну матрицу из другой путём транспонирования один или несколько раз Здравствуйте, дорогие форумчане. Нужна ваша помощь. Нужно доделать программу. Заданы квадратные матрицы А и B. Проверить, можно ли получить одну матрицу из другой путём транспонирования один или несколько раз. Функции: 1 - Транспонирование относительно главной диагонали. 2 - Транспонирование относительно побочной диагонали. Вот моя версия: #include <iostream> #include <windows.h> http://www.cyberforum.ru/cpp-beginners/thread844550.html
длинная арифметика C++
Сложить 2 числа которые не входят ни в один типа данных числа могут быть как положительные так и отрицательные( сложение столбиком) плохо знаю синтаксис, но алгоритм мне ясен, считываем из строки в массив читаем с конца если сумма и-тых элементов больше 9-ти то к следующему элементу +1
Максимальное подмножество попарно не связанных друг с другом окружностей C++
Здравствуйте, есть вот такая задача: На плоскости задано множество окружностей. Две окружности A и B назовём связанными, если они пересекаются либо существует третья окружность C заданного множества, связанная с A и B. Выбрать максимальное подмножество попарно не связанных друг с другом окружностей. Сначала я строю что-то типа матрицы смежности, в которой a=1, если i-я и j-я окружности...
C++ Программа пропускает второй и третий вводы данных http://www.cyberforum.ru/cpp-beginners/thread844509.html
Добрый день. При выполнении программки после ввода первых данных пропускает ввод остальных и сразу выдает результат. Подскажите пожалуйста в чем проблема! http://pikucha.ru/iaUnu/thumbnail/8.jpeg #include <iostream> #include <conio.h> #include <cmath> using namespace std; int main() { setlocale(LC_ALL, "rus");
C++ Задачка с двумерным массивом (Осуществить циклический сдвиг элементов) Ребят подскажите пожалуйста код программы) 2 дня сидел над лабараторками, уже башня не варит: Осуществить циклический сдвиг элементов прямоугольной матрицы на n элементов справа или вниз (в зависимости от введенного режима), n может быть больше количества элементов в строке или столбце. подробнее

Показать сообщение отдельно
Apokalypsys
6 / 6 / 0
Регистрация: 21.04.2013
Сообщений: 19
21.04.2013, 19:48     Двоичный поиск
Всем привет!
Решал задачу "Бинарный поиск. Дана последовательность чисел a1; a2; ...; an. Найти элемент данной последовательности, который был бы равен заданному числу M методом бинарного поиска. Вывести индекс найденного элемента или -1, если таковой найден не был".
Вот код алгоритма:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int binary_search(vector<int> arr, int key) {
    int last = arr.size();
    int index = last/2;
    int c = index + 1;
    for (int i = 0; i < c; i++) {
        if (arr[index] == key) goto l1;
        else if (arr[index] > key) {last = index; index /= 2;}
        else if (arr[index] < key) index = (index + last) / 2;
    }
    index = -1;
l1:
    return index;
}
Я проверял его на массивах до 1000, но всё таки, если здесь есть ошибки, укажите на них, пожалуйста. Желательно не исправлять, а говорить к чему она может привести.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru