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

Бинарный поиск в массиве с++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переделать программу под функцию http://www.cyberforum.ru/cpp-beginners/thread409827.html
Написать программу, которая находит и выводит на печать все четырехзначные числа вида abcd, для которых выполняется условие: а, b, с, d — разные цифры; #include <cstdlib> #include <iostream>...
C++ Смарт указатель и магазин Есть программа, в которой реализован магазин с товарами и интерфейсом админа и пользователя. И в ней нужно как-то применить смарт указатели. Заменить обычные указатели на смарт там не очень логично,... http://www.cyberforum.ru/cpp-beginners/thread409816.html
Вывести на экран таблицу перевода расстояний из дюймом в сантиметры C++
Вывести на экран таблицу перевода расстояний в дюймах в сантиметры для значений 2, 4, 6, …, 12 дюймов (1 дюйм = 25.4 см) Решить задачу тремя способами(используя операторы цикла while, do while, for)
Дополнение строк в тестовом файле C++
Всем привет. Работаю над курсовым проектом, который строит таблицу из символов псевдографики. слова между ;; -ячейка таблицы Программа моя работает, при равном количестве ; Теперь собственно...
C++ Из элементов последовательности у1, у2, ..., у25 http://www.cyberforum.ru/cpp-beginners/thread409774.html
Из элементов последовательности у1, у2, ..., у25, расположенных между первым нулевым и максимальным (в предположении, что в массиве есть положительные числа) (или максимальным и первым нулевым),...
C++ Утечка памяти и delete Вот накопились вопросы про утечки памяти. 1) Как проявляется утечка памяти? На многих сайтах написано что если не удалять указатели то память будет утекать, но как узнать что она утекла? Как боротся... подробнее

Показать сообщение отдельно
jock
2 / 2 / 0
Регистрация: 29.10.2011
Сообщений: 38

Бинарный поиск в массиве с++ - C++

17.12.2011, 18:11. Просмотров 2395. Ответов 1
Метки (Все метки)

Помогите, пожалуйста с задачей:
Создать массив из 20-ти елементов, инициализировать массив.
1) Найти значение, которое есть в нем.
2) Найти значение, которого нет в нем.
Получился код, но не могу найти ошибку, программа не работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
using namespace std;
int main()
{
int m=1;
const int i=20;
int array [i]={2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40};
int left=1,right=20,key;
cin>>key;
while (1)
{
    m=(left+right)/2;
    if (key<array[i])
        right=m-1;
    else if (key>array[m])
        left=m+1;
    else
    {
        cout<<m<<endl<<array[m];
        break;
    }
    if (left>right)
        cout<<"Key not found";
    break;
}
    
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru