3 / 3 / 1
Регистрация: 29.10.2011
Сообщений: 38
1

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

17.12.2011, 18:11. Показов 3887. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2011, 18:11
Ответы с готовыми решениями:

Поиск числа в двумерном массиве (бинарный поиск)
Произвожу поиск элемента в массиве двумя способами: линейным(последовательным) поиском и...

Бинарный поиск в массиве
Помогите нужна программа по поиску числа в массиве (бинарным методом). Очень очень нужно:(

Бинарный поиск числа в массиве
Дан упорядоченный массив чисел от 0 до 100. Необходимо выполнить бинарный поиск числа 25. Как его...

Бинарный поиск числа в массиве
Здравствуйте имеется программка в которую через клаву вводишь определенное кол-во чисел(кол-во...

1
1404 / 646 / 135
Регистрация: 11.08.2011
Сообщений: 2,299
Записей в блоге: 2
17.12.2011, 18:34 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
#include <iostream>
#include <algorithm>
#include <vector>
 
int main()
{
    int n,temp,key;
    std:: vector <int> a;
 
    std:: cin >> n;
 
    for (int i=0; i<n; ++i) 
    {
        std:: cin >> temp;
        a.push_back(temp);
    }
 
    std:: cin >> key;
 
    if (std::binary_search(a.begin(),a.end(),key)) std:: cout << "Element in massiv\n";
    else std:: cout << "There no element " << key << "\n";
    system ("pause");
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.12.2011, 18:34
Помогаю со студенческими работами здесь

Бинарный поиск элемента в массиве
Суть - программа ищет число по формуле K=(a+b)/2 бинарным поиском, и выводит его порядковый номер...

Бинарный поиск в упорядоченном массиве
Задали реализовать бинарный поиск в упорядоченном массиве.Уже пол дня творю,3 листа исписал и...

Бинарный поиск в одномерном массиве
Заполнить одномерный массив из n элементов по формуле соотв-ей вашему варианту задания....

Сортировка, линейный и бинарный поиск в массиве
1. Ввести элементы массива Х(15). 2. Ввести значение целевого элемента (А). 3. Найти А с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru