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

Быстрая сортировка. Сложности с сортировкой по возрастанию и убыванию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ UoPilot на С++ http://www.cyberforum.ru/cpp-beginners/thread846347.html
Добрый день. Хочу написать прогу на С++, аналогичную уже существующей UoPilot. Подскажите норм литературу.
C++ Найти целое число k-порядковый номер числа фибоначчи Дано целое число N(>1), являющееся числом Фибоначчи: N=Fk(число Фибоначчи Fk определяется следующим образом: F1=1 f2=1 Fk=Fk-2+Fk-1, K=3, 4 ..). Найти целое число k-порядковый номер числа фибоначчи.... http://www.cyberforum.ru/cpp-beginners/thread846329.html
C++ Тетрис на C++
Вот надо написать тетрис на курсовую. Проблема в том, что незнаю с чего начать. Есть , что то вроде гайдов по написанию подобного? И еще, как и с помощью чего создать интерфейс?
Создание дерева и вывод его на экран C++
Требуется создать бинарное дерево, состоящее из 7 уровней, заполненное рандомными числами. И вывести на экран приблизительно похожим на дерево. Буду благодарен за любую помощь:) Я попытался сделать...
C++ Директории как это сделать? http://www.cyberforum.ru/cpp-beginners/thread846321.html
Ув.программисты,подскажите пожалуйста,как это сделать?Задача:Нужно проверить существует ли папка,если существует-то нужно удалять файлы пока она не будет пуста.(В папке есть и другие папки) Уже все...
C++ Матрицы.Найти, сколько отрицательных элементов содержит данная матрица в каждом столбце,а также максимальный элемент,лежащий на главной диагонали Привет всем.Такое вот задание: Найти, сколько отрицательных элементов содержит данная матрица в каждом столбце,а также максимальный элемент,лежащий на главной диагонали. подробнее

Показать сообщение отдельно
Xitan
Сообщений: n/a

Быстрая сортировка. Сложности с сортировкой по возрастанию и убыванию - C++

23.04.2013, 16:32. Просмотров 1905. Ответов 4
Метки (Все метки)

Сложность в то, что не корректно работает быстрая сортировка по возрастанию и убыванию. В консоли приходится несколько раз выбирать способ сортировки.(Скрин во вложении)
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
#include <iostream> 
#include <iomanip> 
#include <stdlib.h> 
#include <time.h> 
#include <Windows.h> 
using namespace std;
template <typename T>
void QSort(T array[], int first, int last){ 
if(first < last){ 
int i; 
int j; 
int ml;
T temp; 
T point; 
point = array[first];
i = first; 
j = last; 
cout«"В какую строну???:\nот меньшего-3 от большего-4:\n ";
cin»ml;
switch(ml){
case 3:
while(i < j){
while(array[i] <= point && i < last) i++;
while(array[j] >= point && j > first) j--;
if(i < j){
temp = array[i];
array[i] = array[j];
array[j] = temp; }
} 
temp = array[first];
array[first] = array[j];
array[j] = temp;
QSort(array, first, j - 1);
QSort(array, j + 1, last);
break;
case 4:
while(i < j){
while(array[i] >= point && i < last) i++;
while(array[j] <= point && j > first) j--;
if(i < j){
temp = array[i];
array[i] = array[j];
array[j] = temp; }
} 
temp = array[first];
array[first] = array[j];
array[j] = temp;
QSort(array, first, j - 1);
QSort(array, j + 1, last); break;}
}
}
template <typename T>
void PrintArray(T array[], int size){
for(int i = 0; i < size; i++){
if(i % 10== 0) //кол-во элементов в строке
cout « endl;
cout «setw(9)«array[i]; 
} 
cout « endl;}
int main(){
setlocale(LC_ALL, "Russian");
srand(time(0));
const int N=10; //кол-во элементов
int i,h;
float a[N];
cout«"Выберите тип массива:\nreal-1 integer-2:\n ";
cin»h;
switch(h){
case 1:
for(i = 0; i < N; i++){ 
a[i]=(rand()%10-5); 
}
cout « "До сортировки: \n";
PrintArray( a, N); 
QSort(a, 0, N - 1);
cout « endl;
cout « "После сортировки: \n";
PrintArray( a , N); break;
case 2: 
for(i = 0; i < N; i++){ 
a[i]=(float)(rand()%1001-500)/10; 
}
cout « "До сортировки:\n";
PrintArray( a, N); 
QSort(a, 0, N - 1);
cout « endl;
cout « "После сортировки: \n";
PrintArray( a,N);
break;
}
 
return 0;
}
Миниатюры
Быстрая сортировка. Сложности с сортировкой по возрастанию и убыванию  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru