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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ одномерный массив http://www.cyberforum.ru/cpp-beginners/thread145291.html
помогите решить одномерный массив по С++ , нужно по практике. Дан массив действительных чисел. Среди них есть равные. Найти его первый максимальный элемент и заменить его нулем
C++ Движение объекта (графика) Использую: Visual Studio 2008, TXLib(графическая библиотека). Проблема: Нужно заставить двигаться объект так, чтобы при движении он изменялся в соответствии с заданной функцией. Конкретно в этой задаче объект должен искажаться косинуидально по горизонтали и синусоидально по вертикали. Проблема заключается в том, что надо реализовать функцию, которая могла бы искажать любой заданный объект. ... http://www.cyberforum.ru/cpp-beginners/thread145266.html
C++ Работа с битами
здравствуйте! подскажите пожалуйста как решить задачу необходимо разработать 2 функции • функцию, решающую задачу с использованием только логических операций (функция1); • функцию, решающую задачу с использованием только структурных битовых полей (функция 2); Функция получает слово, и если число, записанное в старшем байте оказывается больше числа, записанного в младшем байте, то все...
C++ масивы
Помогите решить срочно нада практику здать можна на с++ В одномерном массиве с четным количеством элементов (2N) находятся координаты N точек плоскости. Они располагаются в следующем порядке: x1, у1, х2, у2, x3, y3 и т.д. Определить кольцо с центром в начале координат, которое содержит все точки.
C++ Найдите сумму всех одиннадцати простых чисел, которые можно укорачивать как слева направо, так и справа налево. http://www.cyberforum.ru/cpp-beginners/thread145243.html
Задача 37 Найдите сумму всех одиннадцати простых чисел, которые можно укорачивать как слева направо, так и справа налево. Число 3797 обладает интересным свойством. Будучи само по себе простым числом, из него можно последовательно выбрасывать цифры слева направо, число же при этом остается простым на каждом этапе: 3797, 797, 97, 7. Точно таким же способом можно выбрасывать цифры справа налево:...
C++ Разделить массив на две части Помогите решить адачку очень срочно надо Разделить массив на две части, поместив в первую элементы, большие среднего арифметического их суммы, а во вторую — меньшие (части не сортировать). подробнее

Показать сообщение отдельно
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
17.06.2010, 03:32     Бинарный поиск
бинарный поиск
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <stdio.h>
#include <stdlib.h>
 
int BinSearch(int n, int *arr, int size);
 
int main(void) /* ANSI C89 */
{
    int n[5] = { 1, 2, 3, 4, 5 };
    int res, arrsize;
    
    
    arrsize = sizeof n / sizeof n[0];
    
    
    res = BinSearch(3, n, arrsize);
    
    printf("%2d" "\n", res);
    
    res = BinSearch(5, n, arrsize);
    
    printf("%2d" "\n", res);
    
    res = BinSearch(1, n, arrsize);
    
    printf("%2d" "\n", res);
    
    res = BinSearch(7, n, arrsize);
    
    printf("%2d" "\n", res);
    
    
    return EXIT_SUCCESS;
}
 
int BinSearch(int n, int *arr, int size)
{
    int first, last, mid;
    
    first = 0;
    last = size - 1;
    
    while (first <= last) {
            
        mid = (first + last) / 2;
        
        if (n < arr[mid])
            last = mid - 1;
        else if (n > arr[mid])
            first = mid + 1;
        else
            return mid;
    
    }
  
    return -1;
}
 
Текущее время: 05:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru