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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Расстановка 8 ферзей http://www.cyberforum.ru/cpp/thread176941.html
Привет всем, слушайте, вот исходник на С++ задача <<о восьми ферзях>>: #include<iostream> #include<cmath> #include"pent" void forming(int geo); void placing(int); void print(int geo); int main() { //массив,в котором каждая строка,реализует представление 1 фигуры
C++ SpiderMonkey Интересует реализация под windows http://www.cyberforum.ru/cpp/thread176679.html
C++ Удаление Codeblocks/
После удаления Codeblocks значки *.cpp отображаются так. как будто Codeblocks установлен. Как правильно удалить эту программу? Одним словом как сделать, чтобы после удаления Codeblocks *.срр-файлы отображались как первая иконка, а не вторая. Удалил CodeBlocks из параметров реестра - ничего не изменилось :(.
Отловить чат/лобби в игре C++
Вообщем я делаю прогу которая меняет хоткеи в игре Варкрафт3. Ну и для удобства хочу сделать найлутшое определение чата (ну чтоб отключался бинд кнопок во время набирание текста). Мне нужно как то отловить когда человек непосредственно в игре (карта загрузилась) и когда он печатает. Вариант с ентрером не катит. Ну а если по простому можно както затестить подробно обо всех модулях запускающихся...
C++ Очистка текстового файла http://www.cyberforum.ru/cpp/thread176161.html
Здраствуйте, подскажите пожалуйсто как написть на c++ программу удоляющую полностью все из текстовго файла, на php это выглядит так:@fclose(fopen("./123.txt", "w"));, как это на c++ написать?
C++ Курсовая по C++ Курсовая на вольную тему по C++. Не могу определиться с темой. Что Вы посоветуете??? Заранее благодарен. подробнее

Показать сообщение отдельно
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
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;
}
 
Текущее время: 23:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru