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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.93
Ganibal012
1 / 1 / 0
Регистрация: 01.10.2012
Сообщений: 23
#1

Сортировка массивов методом пузырька, вставки и быстрым способом - C++

06.10.2012, 15:16. Просмотров 3425. Ответов 25
Метки нет (Все метки)

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

Сортировка массива пузырьковым методом и методом вставки - C++
нужно написать программу которая будет делать сортировку этими способами в массиве 3x10, две кнопки, таблица (3х10), собственно...

Сортировка методом пузырька - C++
Народ, помогите написать функциональное назначение сортировки методом пузырька))

Сортировка методом пузырька - C++
Ребята помогите , необходимо написать программу в с++ , для сортировки массива из 10 элементов введенных пользователем - методом...

Сортировка методом пузырька - C++
//--------------------------------------------------------------------------- #include <conio.h> #include <vcl.h> #include...

Сортировка методом «пузырька» - C++
Ввести массив x1,x2,...,x20 в диапазоне . Требуется расположить отрицательные элементы в порядке убывания. Вывести массивы до и после...

Сортировка методом пузырька - C++
Приветствую всех. Нужно решить простую задачу. Есть массив из 10 элементов от 0 по 9. И в нём записаны различные числа. И их нужно...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
06.10.2012, 16:45 #2
Поясни сортирует строки, столбцы, всю матрицу.
0
Ganibal012
1 / 1 / 0
Регистрация: 01.10.2012
Сообщений: 23
06.10.2012, 16:59  [ТС] #3
всю матрицу
0
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
06.10.2012, 17:04 #4
У тебя какие мысли, как сделать лучше?
0
Ganibal012
1 / 1 / 0
Регистрация: 01.10.2012
Сообщений: 23
06.10.2012, 17:17  [ТС] #5
ну я делал с другом пузырьковое сортирование

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
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
    const int n=10;
    const int m=15;
    int a[n][m];
    cout<<"Mac1"<<endl;
    int num=1;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            a[i][j]=rand()%100;
            cout<<a[i][j]<<"  ";
            num++;
        }
        cout<<endl;
    }
 
    for(int l=0;l<n;l++)
    {
        for(int k=0;k<m;k++)
        {
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<m;j++)
                {
                    if (i+1==n && j+1==m)
                    {
                        continue;
                    }
                    else
 
                    {
                        if(a[i][j]>a[i][j+1])
                        {
                            int t=a[i][j];
                            a[i][j]=a[i][j+1];
                            a[i][j+1]=t;
 
                        }                                       
                    }
 
                }           
            }
 
        }
 
    }
 
    cout<<"mac2"<<endl;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout<<a[i][j]<<"  ";
        }
        cout<<endl;
    }
 
    system("PAUSE>>VOID");
    return 0;
}

и я хотел по другому попробовать но у меня не получается.
0
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
06.10.2012, 17:19 #6
А как тебе вариант матрицу сохранить в массиве, отсортировать и обратно в матрицу?
0
Ganibal012
1 / 1 / 0
Регистрация: 01.10.2012
Сообщений: 23
06.10.2012, 17:30  [ТС] #7
А зачем возвращать(не понимаю как)? Лучше отдельно сортировку что бы видно и все понятно было
0
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
06.10.2012, 17:33 #8
Так скажем не лучше. Просто обычной сортировкой, очень много вложенных циклов.
0
Ganibal012
1 / 1 / 0
Регистрация: 01.10.2012
Сообщений: 23
06.10.2012, 17:43  [ТС] #9
Ну если вы мне объясните потом как вернуть сортировку в матрицу то можно попробовать.
0
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
06.10.2012, 17:53 #10
Вот тебе обычный способ
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
#include <iostream>
#include <iomanip>
#include <cstdlib> 
#include <ctime>  
 
void bubblesort(int matrix[][5]) 
{ 
    int k, l, i, j; 
 
    for ( k = 0; k < 5; k++) 
    { 
        for ( l = 0; l < 5; l++) 
        { 
            for ( i = 0; i < 5; i++) 
            { 
                for ( j = 0; j < 5; j++) 
                { 
                    if( i + 1 == 5 && j + 1 == 5) 
                        continue; 
                    else 
                    { 
                        if(j+1 == 5 && matrix[i][j] > matrix[i+1][0]) 
                        { 
                            int temp = matrix[i][j]; 
                            matrix[i][j] = matrix[i+1][0]; 
                            matrix[i+1][0] = temp; 
                        } 
                        else 
                        { 
                            if(matrix[i][j] > matrix[i][j+1]) 
                            { 
                                int temp = matrix[i][j]; 
                                matrix[i][j] = matrix[i][j+1]; 
                                matrix[i][j+1] = temp; 
                            } 
                        } 
                    } 
                } 
            } 
        } 
    }
}
 
int main() 
{ 
    srand((unsigned) time(0)); 
    const int size = 5; 
    int matrix[size][size]; 
    int i, j;
    for ( i = 0; i < size; i++) 
        for ( j = 0; j < size; j++) 
        { 
            matrix[i][j] = rand() % 100; 
            if( j % size == 0)  
                std::cout << std::endl;
                std::cout << std::setw(3) << matrix[i][j]; 
        } 
        std::cout << std::endl << std::endl; 
        bubblesort(matrix);  
 
        for ( i = 0; i < size; i++) 
            for ( j = 0; j < size; j++) 
            { 
                if( j % size == 0) 
                    std::cout << std::endl; 
                std::cout << std::setw(3) << matrix[i][j]; 
            } 
            std::cout << std::endl;
 
}
1
Ganibal012
1 / 1 / 0
Регистрация: 01.10.2012
Сообщений: 23
06.10.2012, 18:12  [ТС] #11
Спасибо, а где же возвращение сорта в матрицу?
0
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
06.10.2012, 18:13 #12
Здесь не надо.
1
Ganibal012
1 / 1 / 0
Регистрация: 01.10.2012
Сообщений: 23
06.10.2012, 18:17  [ТС] #13
а понятно

Добавлено через 3 минуты
Так а если будет возвращение то и код будет поменьше ?
0
David Sylva
1286 / 948 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
06.10.2012, 18:24 #14
Нет. Дело не в поменьше, а в том , что столько вложенных циклов уменьшают скорость.
0
Ganibal012
1 / 1 / 0
Регистрация: 01.10.2012
Сообщений: 23
06.10.2012, 18:31  [ТС] #15
ну в принципе скорость не так важна как понятность
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2012, 18:31
Привет! Вот еще темы с ответами:

Сортировка методом пузырька - C++
добрый день по книге учу c++ и в книге был приведен пример сортировки элементов массива методом пузырька с использованием указателей ...

Сортировка методом пузырька - C++
Помогите пожалуйста исправить ошибки. Сортировка пузырьком многомерного массива. #include &quot;stdafx.h&quot; #include &lt;stdlib.h&gt; #include...

Сортировка методом пузырька - C++
Всем привет. Ругается на i. Пишет Выражение должно иметь тип указателя на объект. В дополнении пишет что swap не определен. Помогите...

Сортировка методом пузырька - C++
массив я задал, а вот сортировку не могу сделать(( #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;cstdlib&gt; ...


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

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

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