Форум программистов, компьютерный форум 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) Разработать структуру, осуществляющую чтение с диска и выводящую на монитор фамилии учеников с указанием номера последнего выполненного задания. Затем с клавиатуры добавляется оценка за последнее задание 3)Написать программу вычисления амплитуды R зубца в ЭКГ 4)Составить процедуру вычисления квадрата разности двух... http://www.cyberforum.ru/cpp-beginners/thread43174.html
C++ бинарное древо (удаление)
Ребята выручайте не как не могу понять алгоритм удаления из дерева. Кто нить может описать подробные коментарии к удалению узла у которого есть оба поддерева или в нем где есть ошибка. Зарание спс. struct tree *dtree(struct tree *root, char key) { struct tree *p,*p2; if(!root) return root; /* вершина не найдена */ if(root->info == key) { /* удаление корня */ ЭТО ПОНЯТНО
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 букв, слова отделяются друг от друга одним или бо-лее пробелами, количество слов в файле не ограничено. Требуется: 1. Прочитать исходный текст из файла и поместить его в памяти, использовать однонаправленные циклические цепочки . Каждое звено текста размещается в памяти... подробнее

Показать сообщение отдельно
M128K145
Эксперт C++
 Аватар для M128K145
8276 / 3495 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
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
 
Текущее время: 14:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru