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

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

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

Показать сообщение отдельно
accept
4821 / 3241 / 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;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru