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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Borland C++ 3.11 http://www.cyberforum.ru/cpp-beginners/thread43196.html
Помогите пожалуйста используя Borland C++ 3.11 Вот задание в формате doc: http://********.net/download/5471.5da3b4a2850227f9306fd415c/Praktska_Ci.do_.html
C++ Написать программу меняющую в двумерном массиве строки со столбцами, и еще некоторые 1) Написать программу меняющую в двумерном массиве строки со столбцами 2) Разработать структуру, осуществляющую чтение с диска и выводящую на монитор фамилии учеников с указанием номера последнего... http://www.cyberforum.ru/cpp-beginners/thread43174.html
C++ бинарное древо (удаление)
Ребята выручайте не как не могу понять алгоритм удаления из дерева. Кто нить может описать подробные коментарии к удалению узла у которого есть оба поддерева или в нем где есть ошибка. Зарание...
C++ STL обращение к элементу list
Помогите исправить ошибку. #include <list> #include <iostream> using namespace std; class PeopleB{ public: int xxx; }; const int EnKolB=4; int main(){
C++ Для чего нужен define? http://www.cyberforum.ru/cpp-beginners/thread43051.html
Для чего нужен оператор define? например код #define N 20 /* сколько первых чисел посчитать */ void main(){ int fibs, index;
C++ Работа со строками. Связное хранение строк. Постановка задачи В текстовом файле хранится последовательность слов. Предполагается, что слово содержит не более 20 букв, слова отделяются друг от друга одним или бо-лее пробелами, количество слов... подробнее

Показать сообщение отдельно
M128K145
Эксперт С++
8289 / 3509 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
06.07.2009, 20:51
Вот рабочий код.
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 "stdafx.h"
#include <iostream>
 
void main()
{
    int n, src;
    std::cout<<"Size:\t";
    std::cin>>n;
    std::cout<<"Search:\t";
    std::cin>>src;
 
    int *mas = new int[n];//динамический массив
    for(int i = 0; i < n; ++i)//заполнение
        mas[i] = i;
 
    int half = 0;
    int first = 0;
    int middle = 0;
    while (n > 0)
    {
        half = n / 2;
        middle = first + half;
        if (src < mas[middle])
            n = half;
        else
        {
            first = middle + 1;
            n = n - half - 1;
        }
    }
    std::cout<<"\nRezult index:\t"<<first;
    std::cin.get();
    std::cin.get();
}
Если элемент не найден, то возвращается один из крайних индексов, т.е. если заданное число меньше минимального то возвращается 0, если больше максимального то возвращается твой n
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru