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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ выделить память для массива*[] http://www.cyberforum.ru/cpp-beginners/thread90153.html
привет. чего-то не получается организовать работу массива char *c; это динамический массив строк длиной 10 при конструкторе *c=new char; работает только 0 элемент. как мне выделить память под этот массив?
C++ подмножества и множества Разработать алгоритм генерации всех подмножеств n-элемента множества Помогите решить ее! http://www.cyberforum.ru/cpp-beginners/thread90152.html
C++ Очередь и стек.
Используя очередь и стек: текстовый файл содержит текст ,сбалансированный по ().Для каждой пары скобок напечатать номера их позиции в тексте,упорядочив пары по возрастанию номеров столбцов открывающих скобок Помогите с решением!плиз!
C++ строки
Дана строка.Ориентируясь на пробелы разбить строку на подстроки.Создать двухмерный массив.Подсчитать количество символов в каждой строке,сохранить информацию в массиве и упорядочить его в порядке возрастания ключей! Помогите с программкой!
C++ Список(List) как отсортировать по убыванию используя функции reverse(); sort(); ао убыванию http://www.cyberforum.ru/cpp-beginners/thread90138.html
Нужно отсортировать список по убыванию используя функции reverse(); и sort(); если можно фул прогу бо завтыкал тему чёто)))))
C++ error C2664 ошибка: error C2664: 'strcmp' : cannot convert parameter 1 from 'int' to 'const char *' вот к этому коду: case '3': // Поиск --------------------------------------- printf( "\n\nПоиск по базе 'database.txt'\n\n" ); char s; int year; //printf( "Введите название: " ); //scanf_s( "%49s%*5000s", s, 50); printf( "Введите год: " ); подробнее

Показать сообщение отдельно
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
27.01.2010, 19: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
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
 
/* бинарный поиск */
    
int main(void){
    char *alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    char to_find;
    int head, middle, tail;
    
    printf("Enter some character from A to Z: ");
    if ( scanf("%c", &to_find) != 1 )
        exit(1);
    if ( ( to_find = toupper(to_find) ) < 'A' || to_find > 'Z' ){
        printf("Wrong character!\n");
        exit(1);
    }
    
    head = 0; 
    tail = strlen(alphabet) - 1;
    
    /* если буква первая или последняя */
    if ( alphabet[head] == to_find ){
        printf("'%c' is %d-th character in alphabet.\n", to_find, head + 1);
        exit(0);
    }
    if ( alphabet[tail] == to_find ){
        printf("'%c' is %d-th character in alphabet.\n", to_find, tail + 1);
        exit(0);
    }
    
    while ( ( middle = head + ( tail - head ) / 2 ) > head ){
        if ( alphabet[middle] == to_find ){
            printf("'%c' is %d-th character in alphabet.\n", to_find, middle + 1);
            exit(0);
        }
        else if ( alphabet[middle] < to_find )
            head = middle;
        else
            tail = middle;
    }
    
    printf("'%c' not found in alphabet!\n", to_find);
    exit(0);
}
 
Текущее время: 17:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru