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

Сортировка двумерного массива Методом Шелла (по убыванию) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при построении графиков http://www.cyberforum.ru/cpp-beginners/thread1179138.html
Здравствуйте. Мне необходимо написать программу, которая строила бы один из двух графиков функции по выбору пользователя. То есть имеются две функции: 1)y=a*x*x*x+b*x+c 2)y=a*cos(x+b)+c Пользователь...
C++ Связка структур, разработка функций Есть проблема. Есть 3 бинарных файла Subjects.txt Student.txt Mark.txt Есть 3 структуры: Код: struct Student { char Student_Name; char Student_Surname; char Student_Code; http://www.cyberforum.ru/cpp-beginners/thread1179135.html
C++ Найти наибольший элемент на главной и побочной диагоналях
сам не шарю вообще предмет не профильный нужно написать программу на с++ помогите пожалуйста вот задание Дана действительная квадратная матрица порядка n, все элементы которой различны. Найти...
Максимальный элемент дерева C++
Здравствуйте. Как мне реализовать код выводи максимального элемента в дереве? Я пока что делаю это так: int Tree::MaxLen(TreeNode *m) { if (m!=NULL) { MaxLen(m->right); ...
C++ Считать первые 10 символов каждой строки http://www.cyberforum.ru/cpp-beginners/thread1179107.html
Здравствуйте! Помогите, пожалуйста, составить программу, которая бы считывала из файла по 10 символов с каждой строчки.Пытался сам,но знания в программировании невелики. #include <iostream>...
C++ Преобразовать массив, если в нем есть хоть один отрицательный элемент Прошу помочь с решением. Даны целые массивы А, B и значения P и Q. Каждый массив пpеобpазовать по пpавилу: если в массиве есть хотя бы один отpицательный элемент, то все отpицательные, имеющие... подробнее

Показать сообщение отдельно
rafull6
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 32

Сортировка двумерного массива Методом Шелла (по убыванию) - C++

18.05.2014, 01:02. Просмотров 2241. Ответов 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
#include <iostream>
using namespace std;
 
int main()
{
    // Считываем размер массива,
    // который необходимо отсортировать
    int size;
    cin >> size;
 
    // Динамически выделяем память под
    // хранение массива размера size
    int *a = new int[size];
    
    // Считываем массив
    for (int i = 0; i < size; i++)
    {
        cin >> a[i];
    }
    int step = size / 2;//инициализируем шаг.
    while (step > 0)//пока шаг не 0
    {
      for (int i = 0; i < (size - step); i++)
                {
                    int j = i;
                    //будем идти начиная с i-го элемента
                    while (j >= 0 && a[j] > a[j + step])
                    //пока не пришли к началу массива
                    //и пока рассматриваемый элемент больше
                    //чем элемент находящийся на расстоянии шага
                    {
                        //меняем их местами
                        int temp = a[j];
                        a[j] = a[j + step];
                        a[j + step] = temp;
                        j--; 
                    }
                }
                step = step / 2;//уменьшаем шаг
            }    
    // Выводим отсортированный массив
    for (int i = 0; i < size; i++)
    {
        cout << a[i] << ' ';
    }
 
    return 0;
}
Добавлено через 3 часа 43 минуты
никто не поможет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru