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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
Anriuser
-2 / 0 / 1
Регистрация: 18.10.2013
Сообщений: 273
#1

Сортировки: пять методов на выбор в одной программе - C++

31.03.2014, 21:03. Просмотров 1610. Ответов 40
Метки нет (Все метки)

Помогите написать програмку которая сортирует пьятьма методами на выбор 1) вставками 2) выбором 3) обменом (пузырьком) 4)быстрая сортировка 5) слиянием.
В нете все ети методы есть, но связать в одну прогу у меня не получается.

Наработки есть но на паскале а как оказалось теперь надо на С++
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.03.2014, 21:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировки: пять методов на выбор в одной программе (C++):

Несколько алгоритмов сортировки в одной программе - C++
Здравствуйте, форумчане. Подскажите пожалуйста, у меня есть 5 кодов программ. Суть в том, что каждая из них сортирует динамический...

Напишите реализацию методов, предоставляющих доступ к данным класса. Отобразите в программе работу этих методов - C++
Реализация методов класса. Напишите реализацию методов, предоставляющих доступ к данным класса. Отобразите в программе...

Измерить быстродействие методов сортировки - C++
Нужно измерить время работы различных методов сортировки , но не имею понятия как указателями перенести значения массива для каждого метода...

Написать программу: реализация методов сортировки - C++
Помогите , пожалуйста , написать программу. В долгу не останусь. Написать программу , в которой реализуются методы сортировки : пузырька...

Сравнительный анализ методов сортировки одномерных массивов - C++
Товарищи программисты, помогите пожалуйста!!! У меня такое задание, кто сможет решить, напишите пожалуйста, бо сама я как бы не очень...

Сравнение быстрого и прямого включения методов сортировки - C++
Есть массив, размер которого задает пользователь. Затем этот массив копируется на две одинаковые копии и каждая копия (не зависимо от...

40
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
02.04.2014, 10:36 #16
1)sort() - это смесь сортировок.
2)heap_sort() - пирамидальная сортировка
3)stable_sort() - сортировка слиянием
4)quicksort() - чистый квиксорт
5) Bubble-sort
6)Вставками
7)Подсчётом
8)Поразрядная
9)just for fun Bogosort =)
0
Anriuser
-2 / 0 / 1
Регистрация: 18.10.2013
Сообщений: 273
03.04.2014, 01:09  [ТС] #17
Уважаемая IrineK все же я не получил двойку))) Так что моя судьба все же в руках форумчан )

Добавлено через 51 секунду
Прогу компильните мне она не работает) или ето я просто мало сплю)
0
IrineK
Заблокирован
03.04.2014, 01:55 #18
Цитата Сообщение от Anriuser Посмотреть сообщение
Так что моя судьба все же в руках форумчан )
Повторяю:
Цитата Сообщение от IrineK Посмотреть сообщение
Позволять другим решать свою судьбу - опасно и чревато.
Добавлено через 19 минут
Цитата Сообщение от Anriuser Посмотреть сообщение
все же я не получил двойку)))
Чему только люди не радуются.
0
Anriuser
-2 / 0 / 1
Регистрация: 18.10.2013
Сообщений: 273
06.04.2014, 15:35  [ТС] #19
Но все же никто не помогает) хоть и моя судьба у руках форумчан)

Добавлено через 8 минут
IrineK Может вы решите мою судьбу, ато на етот раз у меня халява не пройдет))
0
metallix
10 / 10 / 3
Регистрация: 07.09.2013
Сообщений: 48
06.04.2014, 15:50 #20
Да ладно ? А посидеть подумать никак ?
Если я првильно понял то :
1- Алгоритмы сортировок берешь 5 алгоритмов. Каждый кладешь в функцию.
2 - Создаешь массив, и передаешь его в каждую из 5 ф-ий.
0
Anriuser
-2 / 0 / 1
Регистрация: 18.10.2013
Сообщений: 273
06.04.2014, 19:21  [ТС] #21
Я пробовал но нифига не получилось . Вот и жду помощи

Добавлено через 29 минут
Сам прикол все пишут что ето просто но никто не может сделать)
0
IrineK
Заблокирован
06.04.2014, 19:25 #22
Цитата Сообщение от Anriuser Посмотреть сообщение
вы решите мою судьбу
Цитата Сообщение от Anriuser Посмотреть сообщение
у меня халява не пройдет
Вот если подумать, чего сам написал , то можно прийти к правильным выводам.
0
Newchap
4 / 4 / 1
Регистрация: 17.09.2013
Сообщений: 179
06.04.2014, 19:48 #23
Anriuser, скинь код уже, пробователь.
Люди воспринимающие этот форум как центр бесплатных лаб бесят уже
0
Anriuser
-2 / 0 / 1
Регистрация: 18.10.2013
Сообщений: 273
08.04.2014, 13:20  [ТС] #24
IrineK кто не рискует тот не пьет шампанского :

Добавлено через 1 минуту
Код есть на паскале, но мне на С++ надо))))

Добавлено через 1 минуту
И все же я в поиске добрых людей) которые помогут)

Добавлено через 4 часа 11 минут
Но никто не помогает)

Добавлено через 13 часов 56 минут
Народ завтра буду здавать выручайте!!!)))
0
IrineK
08.04.2014, 13:27
  #25

Не по теме:

Цитата Сообщение от Anriuser Посмотреть сообщение
IrineK кто не рискует тот не пьет шампанского
И отчего же теперь штаны мокрые: от риска или от шампанского?

0
Anriuser
-2 / 0 / 1
Регистрация: 18.10.2013
Сообщений: 273
08.04.2014, 21:58  [ТС] #26
IrineK, может вы мне поможете?))))))

Добавлено через 28 минут
Хелп народ!

Добавлено через 1 час 25 минут
ПОМОГИТЕ!!!

Добавлено через 1 час 27 минут
HEEEEELP!

Добавлено через 5 часов 4 минуты
Да помогите!!
0
metallix
10 / 10 / 3
Регистрация: 07.09.2013
Сообщений: 48
08.04.2014, 22:10 #27
За это время сам уже мог бы сделать.
Или скинь хотя бы что сам написал.
0
Anriuser
-2 / 0 / 1
Регистрация: 18.10.2013
Сообщений: 273
08.04.2014, 22:23  [ТС] #28
сейчас вам в лс скину

Добавлено через 40 секунд
СПС всем можно закрывать тему, никто н епомогает током)

Добавлено через 6 минут
сори за ошибки спешу просто
0
metallix
10 / 10 / 3
Регистрация: 07.09.2013
Сообщений: 48
08.04.2014, 22:52 #29
Так уж и быть)) Что надо, надеюсь сам уже осилишь доделать)
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
void bubbleSort(int *arr, int size);
void insertSort(int *arr, int size);
void selectSort(int *arr, int size);
void quickSort(int *arr, int N);
void merge(int*,int*,int,int,int);
void mergesort(int *a, int*b, int low, int high);
 
int main()
{
    int n=0;
    srand(time(NULL));
 
    cout<<"Size of array: ";
    cin>>n;
 
    int array[n];
 
    cout<<"Array: \n";
        for(int i=0;i<n;i++)
        {
            array[i]=rand()%50;
            cout<<array[i]<<" ";
        }
        cout<<"\n\n";
//---------------------------------------------------//
cout<<"Bubble Sort:\n\n";
 
bubbleSort(array,n);
    for(int i=0;i<n;i++)
        cout<<array[i]<<" ";
 
cout<<"\n\n------------------------------\n\n";
 
//---------------------------------------------------//
 
cout<<"Insert Sort:\n\n";
 
insertSort(array,n);
    for(int i=0;i<n;i++)
        cout<<array[i]<<" ";
 
cout<<"\n\n------------------------------\n\n";
 
//---------------------------------------------------//
 
cout<<"Select Sort:\n\n";
 
selectSort(array,n);
    for(int i=0;i<n;i++)
        cout<<array[i]<<" ";
 
cout<<"\n\n------------------------------\n\n";
 
//---------------------------------------------------//
 
cout<<"Quick Sort:\n\n";
 
quickSort(array,n);
    for(int i=0;i<n;i++)
        cout<<array[i]<<" ";
 
cout<<"\n\n------------------------------\n\n";
cout<<"Merge Sort:\n\n";
int num;
num = sizeof(array)/sizeof(int);
int b[num];
 
mergesort(array,b,0,num-1);
    for(int i=0; i<num; i++)
        cout<<array[i]<<" ";
cout<<"\n\n------------------------------\n\n";
 
system("pause>>null");
return 0;
}
 
 
void bubbleSort(int *arr, int size)
{
    int tmp;
 
    for(int i = 0; i < size - 1; ++i)
    {
        for(int j = 0; j < size - 1; ++j)
        {
            if (arr[j + 1] < arr[j])
            {
                tmp = arr[j + 1];
                arr[j + 1] = arr[j];
                arr[j] = tmp;
            }
        }
    }
}
 
void insertSort(int *arr, int size)
{
    int tmp;
    for (int i = 1, j; i < size; ++i)
    {
        tmp = arr[i];
        for (j = i - 1; j >= 0 && arr[j] > tmp; --j)
            arr[j + 1] = arr[j];
        arr[j + 1] = tmp;
    }
}
 
void selectSort(int *arr, int size)
{
    int tmp;
    for(int i = 0; i < size; ++i)
    {
        int pos = i;
        tmp = arr[i];
        for(int j = i + 1; j < size; ++j)
        {
            if (arr[j] < tmp)
           {
               pos = j;
               tmp = arr[j];
           }
        }
        arr[pos] = arr[i];
        arr[i] = tmp;
    }
}
 
void quickSort(int *a, int N)
{
  long i = 0, j = N;
  int temp, p;
 
  p = a[ N>>1];
 
  do {
    while ( a[i] < p ) i++;
    while ( a[j] > p ) j--;
 
    if (i <= j)
    {
      temp = a[i];
      a[i] = a[j];
      a[j] = temp;
      i++; j--;
    }
  } while ( i<=j );
 
  if ( j > 0 ) quickSort(a, j);
  if ( N > i ) quickSort(a+i, N-i);
}
 
void mergesort(int *a, int*b, int low, int high)
{
    int pivot;
    if(low<high)
        {
            pivot=(low+high)/2;
            mergesort(a,b,low,pivot);
            mergesort(a,b,pivot+1,high);
            merge(a,b,low,pivot,high);
        }
}
 
void merge(int *a, int *b, int low, int pivot, int high)
{
int h,i,j,k;
h=low;
i=low;
j=pivot+1;
 
while((h<=pivot)&&(j<=high))
{
    if(a[h]<=a[j])
    {
        b[i]=a[h];
        h++;
    }
    else
    {
        b[i]=a[j];
        j++;
    }
    i++;
}
if(h>pivot)
{
    for(k=j; k<=high; k++)
    {
        b[i]=a[k];
        i++;
    }
}
else
{
    for(k=h; k<=pivot; k++)
    {
        b[i]=a[k];
        i++;
    }
}
    for(k=low; k<=high; k++) a[k]=b[k];
}
2
Anriuser
-2 / 0 / 1
Регистрация: 18.10.2013
Сообщений: 273
08.04.2014, 23:25  [ТС] #30
Ура!!! А что там надо доделать то?)
Спасибо большое)

Добавлено через 10 минут
Не компилится(

Добавлено через 8 минут
metallix, Вы сдесь?

Добавлено через 10 минут
народ да хелп компильните прогу!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.04.2014, 23:25
Привет! Вот еще темы с ответами:

Исследовать возможности адаптации различных методов сортировки к структуре исходного массива - C++
Исследовать возможности адаптации различных методов сортировки к структуре исходного массива. С этой целью определить время сортировки ...

Ввести пять строк и из каждой строки вывести пять последних символа - C++
Ввести пять строк и из каждой строки вывести пять последних символа. P.S сори что второй раз,просто препод сказал, что несовсем...

Отсортировать первые пять элементов массива по возрастанию, последние пять по убыванию - C++
Введем 11 чисел, число по середине должна остаться, а первые пять по возрастанию, последние пять по убыванию. Вот мой код: #include...

Переписать компоненты чтобы они располагались в порядке: пять отрицательных, пять положительных - C++
Дан текстовый файл, компонентами которого являются целые числа, не равные нулю. Числа в файле идут в следующем порядке: десять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Yandex
Объявления
08.04.2014, 23:25
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru