0 / 0 / 0
Регистрация: 24.12.2013
Сообщений: 4
1

Сортировка методом Шелла

24.12.2013, 04:41. Показов 479. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно отсортировать методом Шелла все столбцы матрицы 10х10, чтобы все элементы шли за уменьшением.

Написал код, но на экран выводит матрицу, у которой все элементы = -852150451.

Может проблема в том, что я не передал массив функции mail в ф-ю sortirovka. Тогда подскажите, пожалуйста, как это сделать корректно.

Заранее спасибо!

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
#include <iostream>
#include <conio.h>
using namespace std;
 
void vivod(int n, int t,int **mass)
{
    for ( int i=0; i<n ; ++i)
{
    for ( int j=0; j<t; ++j) 
        cout<<mass[i][j]<<" ";
    cout<<endl;
}
    getch();
}
 
void sortirovka(int n,int t)
{
    int *a;
    a=new int[t];
    int step = t / 2;
    while (step > 0)
    {
      for (int j=0;j<n; j++)
          for (int i = 0; i < (t - step); i++)
                {
                    int k = i;
                 
                    while (k >= 0 && a[k] > a[k + step])
                
                    {
                       
                        int temp = a[j];
                        a[k] = a[k + step];
                        a[k + step] = temp;
                        k--; 
                    }
                }
                step = step / 2;
            }  
    getch ();
}
 
void  vivod2(int n,int t)
{
    int *a;
    a=new int[t];
    for (int j=0;j<n; j++)
        for (int i = 0; i < t; i++)
    {
        cout << a[i] << ' ';}
      getch ();
}
int main()
{
   
    int n,t,i,j;
    cout<<"Vvedite kplichestvo strok: ";
    cin >> n;
    cout<<"Vvedite kolihestvo stolbtsov: ";
    cin>>t;
    
 
 
 int **mass = new int *[n];
    for (i = 0; i < n; i++)
    {
        mass[i] = new int [t];
        for ( int j=0; j<t; ++j) 
            mass[i][j]=rand()%10;
    }
    vivod(n,t,mass);
    sortirovka(n, t);
    vivod2(n, t);
    return 0;
   
    
 
    
   
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2013, 04:41
Ответы с готовыми решениями:

Сортировка методом шелла
День добрый! Хочу разобраться с алгоритмом. Перепишете его пожалуйста без шаблонов, если я...

Сортировка методом Шелла
#include &lt;iostream&gt; #include &lt;ctime&gt; using namespace std; /*Массив из 10 целых чисел заполнить...

Сортировка методом Шелла
Помогите найти пример сортировки методом Шелла. Только нужно чтоб массив был рандомный, а потом...

Сортировка методом Шелла
Как сделать сортировку методом Шелла этому коду? #include &lt;iostream&gt; #include &quot;stdio.h&quot; using...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2013, 04:41
Помогаю со студенческими работами здесь

Сортировка методом Шелла
Помогите с написанием программы, которая реализует сортировку массива методом шелла...я только...

Сортировка методом Шелла С++
Помогите пожалуйста. Нужно отсортировать двухмерный массив методом Шелла. Но отсортировать...

Сортировка методом Шелла
Ребят проверьте программу и исправьте ошибку и скиньте плиз скрин кода программы ну точней вывод...

Сортировка методом Шелла
Не могу разобраться с сортировкой методом Шелла именно в двумерном массиве. Если, например, нам...

Сортировка методом Шелла
Помогите! Нужно написать код программы сортировки одномерного массива по убыванию методом Шелла....

Сортировка матрицы методом Шелла
Помогите пожалуйста!!! Нужно написать программу, сортирующую матрицу методом Шелла на C++: ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru