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

удаление массивов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ SpiderMonkey http://www.cyberforum.ru/cpp/thread176679.html
Интересует реализация под windows
C++ Удаление Codeblocks/ После удаления Codeblocks значки *.cpp отображаются так. как будто Codeblocks установлен. Как правильно удалить эту программу? Одним словом как сделать, чтобы после удаления Codeblocks *.срр-файлы отображались как первая иконка, а не вторая. Удалил CodeBlocks из параметров реестра - ничего не изменилось :(. http://www.cyberforum.ru/cpp/thread176666.html
Отловить чат/лобби в игре C++
Вообщем я делаю прогу которая меняет хоткеи в игре Варкрафт3. Ну и для удобства хочу сделать найлутшое определение чата (ну чтоб отключался бинд кнопок во время набирание текста). Мне нужно как то отловить когда человек непосредственно в игре (карта загрузилась) и когда он печатает. Вариант с ентрером не катит. Ну а если по простому можно както затестить подробно обо всех модулях запускающихся...
Очистка текстового файла C++
Здраствуйте, подскажите пожалуйсто как написть на c++ программу удоляющую полностью все из текстовго файла, на php это выглядит так:@fclose(fopen("./123.txt", "w"));, как это на c++ написать?
C++ CVI LabWin NI http://www.cyberforum.ru/cpp/thread176027.html
есть ли у кого хорошие книжки по программированию в этой среде! там в принципе чистый "C" но там специфическое обращение к портам и GUI. или если возможно дайте ссылку на форум где можно обсудить волнующие проблемы! Запрещено публиковать ссылки на другие форумы. правила форума, пункт 3.7 Добавлено через 12 часов 17 минут правила форума, пункт 3.7 а в личку можно?
C++ word, excel В состоянии ли C/C++ принять информацию с ворд и записать ее в эксель??? И сложно ли это??? подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
16.10.2010, 22:27     удаление массивов
больще часа пыхтел над осмыслением алгоритма быстрой сортировки (никогда руками не делал - готовую функцию использовал), не пропадать же "добру" к тому-же странный способ вывода массивов придумал...
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#include <iostream>
 
void swap(int * a, int * b) {
    int tmp = *a;
    *a = *b;
    *b = tmp;
}
 
void qsort_int(int * arr, size_t size){
    int * head, * tail, * middle;
    head = arr;
    tail = arr + size - 1;
    middle = arr + size / 2;
    if ( size < 2 )
        return;
    else if ( size == 2 ){
        if ( *head > *tail )
            swap(head, tail);
        return;
    }
    else {
        while ( 1 ){
            while ( head < middle ){
                if ( *head > *middle )
                    break;
                ++head;
            }
            while ( tail > middle ){
                if ( *tail < *middle )
                    break;
                --tail;
            }
            if ( head >= tail )
                break;
            swap(head, tail);
            if ( middle == head )
                middle = tail;
            else if ( middle == tail )
                middle = head;
        }
        qsort_int(arr, middle - arr);
        qsort_int(middle + 1, size - ( middle - arr ) - 1);
    }
}
 
int * find_in_array(int * arr, size_t size, int value){
    return ( ! size ) ? NULL : ( *arr == value ) ? arr : find_in_array(++arr, --size, value);
}
 
struct ArrOut {
    const int * arr;
    size_t size;
    const char * delim;
    ArrOut(int * _arr, size_t _size, const char * _delim) : arr(_arr), size(_size), delim(_delim) {}
    ~ArrOut() {}
};
 
std::ostream & operator << (std::ostream & ost, ArrOut & a){
    while ( a.size-- )
        ost << *(a.arr++) << a.delim;
    return ost;
}
 
int main(){
    size_t size;
    std::cout << "Number of elements: ";
    std::cin >> size;
    
    int * arr = new int [ size ];
    for ( size_t i = 0; i < size; ++i ){
        std::cout << "Array[" << i << "] = ";
        std::cin >> arr[i];
    }
    
    std::cout << "Array: " << ArrOut(arr, size, " ") << std::endl;
    
    int val;
    std::cout << "Value to find in array: ";
    std::cin >> val;
    std::cout << "Indexes: ";
    for ( int * found = find_in_array(arr, size, val); found; found = find_in_array(found + 1, size - ( found - arr ) - 1, val) )
        std::cout << ( found - arr ) << ' ';
    
    qsort_int(arr, size);
    std::cout << "\n\nSorted: " << ArrOut(arr, size, " ") << std::endl;
    
    delete [] arr;
    
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru