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

Показать процесс сортировки массива - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Массивы http://www.cyberforum.ru/cpp-beginners/thread319243.html
Найдите сумму тех чисел, которые чётные и отрицательные.:cofee2:
C++ Отсортировать по убыванию элементы массива с нечетными номерами методом обмена в прогрмамме С++ Дан целочисленный массив A(n) с элементами, сгенерированными случайными числами в диапазоне (-20,20). ТРЕБУЕТСЯ: Отсортировать по убыванию элементы массива с нечетными номерами методом обмена.:sorry: http://www.cyberforum.ru/cpp-beginners/thread319241.html
ошибка сегментирования C++
При запуске скомпилированной (gcc) программы выскакивает ошибка сегментирования, а при запуске ее же в дебагере (gdb) -- program exited normally. Как такое понимать?
C++ Очередь
Всем привет! Вопрос: целесообразно ли перегружать для очереди операторы ввода/вывода и оператор , для произвольного доступа к елементам ? Спасибо.
C++ Удаление файлов определенного расширения http://www.cyberforum.ru/cpp-beginners/thread319188.html
люди помогите доделать прогу,очень срочно... нужно зделать что бы она сначала искала,а потом предлагала удалить файл,файлы *.bat формата(на данный момент ищет только txt файлы) вот http://www.ex.ua/view_storage/267234014061 сама прога прога сделана на VS C#.. очень срочно нужно..если возможно до завтра(14-06-2011),7-8 часов утра по московскому времени переделаный вариант отправте на почту...
C++ Замер времени Работает через раз. #include <conio.h> #include <iostream> #include <time.h> #include <windows.h> using namespace std; int _tmain() { SetConsoleCP(1251); подробнее

Показать сообщение отдельно
Feytan
1 / 1 / 0
Регистрация: 09.12.2010
Сообщений: 93
14.06.2011, 12:00  [ТС]     Показать процесс сортировки массива
co6ak,
Извени. Препод сказал, что как-то это можно сделать в досе, но для этого надо подключать графическую библиотеку.

Я потому и спрашивал, потому что сам слабо это себе представлял...

Вот измененный код (я добавил туда немного текста и сделал как было сказано выше):

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
91
92
93
94
#include <iostream>
#include<time.h>
#include<windows.h>
 
using namespace std;
 
int main ()
{
        DWORD t1, t2, d_time;
        
        srand (time(NULL));
        
        int i, N, j, k;
        
        //Задаем количество элементов
        
        cout<<"===V otsortirovannii massiv vstavit sluchainoe==="<<endl;
        cout<<"===chislo, chtobi on ostavalsya otsortirovannim==="<<endl;
        
        cout<<endl<<"Dlina massiva - N: "; //N - длина одномерного массива
        
        cin>>N;
        
        cout<<"\n"; 
        
        t1 = GetTickCount();
        
    if(N > 0)
    {
 
        //Резервируем место на диске под количество элементов
        
        int *a = new int[N+1];// резервируем память под массив на 1 элемент больше
 
         cout << "Vremennii massiv: " << endl;
         for(i=0; i<N; i++)
        {
                a[i]=rand()%100;
                cout<<"("<<a[i]<<")"<<" ";
        }            
        cout<<"\n";
        cout<< endl;
              
        int count=0;
        for (i = 0; i < N - 1; i++)
                {
                        for(j = N-1; j>i; j--)
                        if (a[j-1] > a[j])
                        {
                                swap(a[j], a[j-1]); count++; //сортировка + ее подсчет
                                cout<<"("<<a[j]<<")"<<"->"<<"("<<a[j-1]<<")"<<endl;  //показывает процесс сортировки
                                cout<<endl;
                        }           
        }
        cout << "Otsortirovannii massiv: " << endl;        
        for (i = 0; i < N; i++)
                cout<<"(" << a[i]<<")" << " ";
                cout<< endl;
                
        cout<<"\nKolichestvo sravnenii: "<<count;   
        cout<< endl;
        
        k=rand()%100;
        cout<< endl << "Sluchainoe chislo - k: "<<"(" << k <<")"<<endl; //k - случайное число
        cout<< endl;
 
                i=0;
                while ((a[i]<k) && (i<N)) //ищем место, куда поставить случайное число
                        i++;
                for (j=N; j>i; j--) //сдвигаем все элементы массива на 1 в конец, чтобы вставить случайный элемент
                        a[j]=a[j-1];
 
                a[i]=k; //вставляем на найденное место случайный элемент
 
                cout << "Konechnii massiv: " << endl;        
        for (i = 0; i < N+1; i++)
                cout<<"(" << a[i]<<")" << " ";
                cout <<"\n";
                cout<<"\nSovsem drugoe delo!!!"<<endl;
                
        delete [] a;
        }
        
        else cout<<"Chislo elementov ne mozhet byt <=0" << endl;
 
                 t2 = GetTickCount();
                d_time = t2 - t1;
                        
                cout<<"\nVremia raboti: "<<d_time<<" milisek\n";
                cout<<"\nDumaem pregde chem pisat!!!\n"<<endl;
    system("pause");
    
        return 0;
}
 
Текущее время: 15:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru