Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 03.04.2018
Сообщений: 11

Реализовать бинарный поиск заданного элемента в массиве

27.04.2018, 14:51. Показов 2836. Ответов 1

Студворк — интернет-сервис помощи студентам
Помогите, напишите бинарный поиск элемента в массиве (особенно чтобы он работал, когда все элементы одинаковые)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.04.2018, 14:51
Ответы с готовыми решениями:

Реализовать бинарный поиск заданного элемента в массиве
Доброго времени суток, форумчане! Реализую алгоритмы поиска: линейный и бинарный. Нужно, чтоб они выводили как одно вхождение заданного...

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

Двоичный (бинарный) поиск элемента в двумерном массиве
Доброго времени суток. есть вот такое задание: Написать функцию, реализующую алгоритм бинарного поиска заданного ключа в двухмерном...

1
 Аватар для Геомеханик
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
27.04.2018, 17:19
Лучший ответ Сообщение было отмечено Vlada___ как решение

Решение

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
29
30
31
32
33
34
#include <iostream>
#include <cstdlib>
 
size_t indexOf(const int a[], size_t n, int v){
    if(!n || (v < a[0]) || (v > a[n - 1]))
        return n;
 
    size_t m, i = 0, j = n;
    while(i < j){
        m = i + (j - i)/2;
        if(v == a[m])
            return m;
        else if(v < a[m])
            j = m;
        else
            i = m + 1;
    }
    return n;
}
 
int main(void){
    int  a[] = { 1, 1, 1, 4, 4, 5, 5, 5, 5, 7, 7, 8, 9, 9 };
    size_t n = sizeof(a)/sizeof(a[0]);
 
    int    v;
    size_t p;
    for(size_t i = 0; i < n; ++i){
        v = std::rand() % 10;
        if((p = indexOf(a, n, v)) != n)
            std::cout << "value: " << v << "  index: " << p << std::endl;
    }
    std::cin.get();
    return 0;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.04.2018, 17:19
Помогаю со студенческими работами здесь

Рекурсивный поиск заданного элемента в массиве
X - массив, состоящий из 100 числовых элементов. Написать программу, которая выдает номер первого из элементов массива X, совпадающих с...

Поиск элемента, меньшего заданного, в упорядоченном массиве
Добрый день. Мне необходимо найти в массиве первый элемент, который меньше заданного, и, очень желательно, за логарифм. Массив упорядочен...

Реализовать поиск элемента в неупорядоченном массиве
Добрый вечер! Как сделать чтобы алгоритм работал вместе с вектором и искал элемент х? Мне по заданию требуется найти элемент в...

Поиск заданного элемента в упорядоченном по возрастанию массиве целых чисел
Осуществить поиск заданного элемента в упорядоченном по возрастанию (по убыванию) массиве целых чисел.

В отсортированном одномерном массиве выполнить поиск заданного элемента последовательным методом
Знаю,что тут есть похожая очень тема, но не могу справиться который день...так что прошу помощи:wall: В отсортированном одномерном массиве...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru