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

Бинарный поиск не находит нулевой элемент массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Добавление в конец односвязного списка http://www.cyberforum.ru/cpp-beginners/thread1813720.html
Не получается написать эту функцию.Добавление в начало более тривиально.Сам список представлен так. Насколько я знаю,нужно 2 случая рассмотреть 1)когда список пуст (head==tail) 2) и в остальных...
C++ Некорректная работа команды continue в цикле при проверке корректности введенных данных Доброго времени суток, уважаемые форумчане. Есть программа для определения количества купюр (монет) того или иного номинала, которое необходимо иметь в наличии для того, чтобы выдать наличными... http://www.cyberforum.ru/cpp-beginners/thread1813719.html
Требуется написать перестановки без повторений C++
#include <iostream> using namespace std; const int N =11; int n,a,p; void f(int k){ if(k == n+1){ for (int i = 1;i <= n; i++){ cout << p << ' '; } ...
C++ Конвертировать действительное число в денежный формат (рубли и монеты)
Создайте программу которая переводит введенное дробовое число в денежный формат (рубли и монеты). :wizard:
C++ С++ Найти суму n1 цифер дробовой части действительного числа и вывести на экран http://www.cyberforum.ru/cpp-beginners/thread1813699.html
:declare:
C++ Создать двусвязный список согласно условию Не могли бы вы мне помочь с двусвязными списками. Я тут немного написала, но это всего малая часть. Просто не пойму как это нужно написать. Создать двусвязный список у которого имеется единственное... подробнее

Показать сообщение отдельно
Apostol584
238 / 144 / 72
Регистрация: 26.11.2012
Сообщений: 371
Завершенные тесты: 2
26.09.2016, 03:58
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
int screch(int mas[], int size, int num) { 
    int a, b, c;
    
    for ( a = 0, c = size;; b = (a + c) / 2) {
        if (num > mas[b]) 
            a = b + 1;
        else if(num < mas[b])
            c = b - 1;
        else return b;
        if (a > c) return -1;
    }
}
 
int binSeach(int *mas, int size, int item){
    int ind, left = 0, right = size;
    
    while(true){
        ind = (left + right) / 2; 
        if(mas[ind] > item)
            right = ind - 1;
        else if(mas[ind] < item)
            left = ind + 1;
        else return ind;
        
        if(left > right) return -1;
    }
}
Добавлено через 42 секунды
goto не следует использовать
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru