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

Подскажите быстрый поиск количества интервалов в отрезке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ symbol(s) not found for architecture x86_64 как это побороть? http://www.cyberforum.ru/cpp-beginners/thread931491.html
Привет всем тем кто это читает! Я не очень компетентен в сфере программирования, так как только учусь (С++). У меня такая проблема: Мне интересно использование технологии OpenCL, скачал мануал с...
C++ istream состояние bad Всем привет! Как можно вызвать состояние bad у потока istream? (т.е. не так, что "состояние bad может быть вызвано серьезной ошибкой чтения", а небольшой пример, как просто можно это состояние... http://www.cyberforum.ru/cpp-beginners/thread931476.html
Проблемы с include C++
Здравствуйте! Возникла проблема. Пользовался поиском, не помогло. Понимаю, что я не первый, кто просит помощи в подобной ситуации, но отнеситесь с пониманием, пожалуйста. Пытался гуглить и прочее,...
C++ Логический сдвиг влево
unsigned __int64 number = 239176053778592; ClongNumber c(number); c.print(); for(int i = 0; i < 18; i++) { unsigned __int64 number_new = number << i; ClongNumber c_new1(number_new);...
C++ Функция для поиска по регулярному выражению http://www.cyberforum.ru/cpp-beginners/thread931441.html
Здорова господа! Нужно написать свою собственную функцию для поиска по регулярному выражению. Какой алгоритм? Как мне обрабатывать само регулярное выражение, ну от допустим отакое"ame:*" -...
C++ Ввод cin Я тут раньше задавал подобный вопрос, то тема умерла, по ходу. Здесь приведен листинг функции ввода калькулятора из книги Страуструпа. Объясните мне тупому, как тут осуществляется ввод? Ввод всего... подробнее

Показать сообщение отдельно
Maxak
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 47
31.07.2013, 16:15  [ТС]
Небольшое уточнение H[N] уже отсортирован...

Ну у меня вот как то так получается...Проверею конец и начало отрезка на предмет попадания в массив, далее нахожу конец и начало фрагмента в массиве.Норм?
Кликните здесь для просмотра всего текста
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
template<class T>
int get_segment_in_arr(T x, const T *H, int N)
{
    int i0 = 0, i2 = N;
    for(; i2-i0>1; ) {
        const int i1 = (i0+i2)>>1;
        if( x<H[i1] )
            i2 = i1;
        else
            i0 = i1;
    }
    return i0;
}
 
template<class T>
int get_segment_count(T x,T dx, const T *H, int N)
{
    if((x+dx)>H[N])
    {
        count++
    }
    if(x<H[0])
    {
        count++
    }   
    int begin = get_segment_in_arr(x,H,N);
    int end = get_segment_in_arr((x+dx),H,N);
    count +=end - begin +1;
             return count;
 
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.