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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
rafull6
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 32
#1

Сортировка вставками двумерного массива - C++

12.05.2014, 12:51. Просмотров 1758. Ответов 2
Метки нет (Все метки)

Здравствуйте! Необходимо отсортировать двумерный массив применив сортировку выбором. Отсортировать необходимо каждую строку массива от минимального к максимальному элементу. То есть:
Исходный массив:
5 9 8 4 2
0 6 9 4 5
3 6 9 7 4
3 2 1 4 7
2 5 4 7 1

Конечный массив:
2 4 5 8 9
0 4 5 6 9
3 4 6 7 9
1 2 3 4 7
1 2 4 5 7

Функцию для сортировки одномерного массива нашел:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void sort() 
{
    int tmp, pos;
    const int n=5;
    int ar[n];
    
    for(int i = 0; i < n; ++i) // i - номер текущего шага
    { 
        pos = i; 
        tmp = ar[i];
        for(int h = i + 1; h < size; ++h) // цикл выбора наименьшего элемента
        {
            if (ar[h] < tmp) 
            {
               pos = h; 
               tmp = ar[h]; 
            }
        }
        ar[pos] = ar[i]; 
        ar[i] = tmp; // меняем местами наименьший с a[i]
    }
}
но вот как переделать его под двумерный массив и реализовать сортировку в строках (от минимального к максимальному) никак понять не могу. Помогите пожалуйста.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2014, 12:51     Сортировка вставками двумерного массива
Посмотрите здесь:

Сортировка двухмерного массива вставками - C++
Доброго времени суток! Пытаюсь реализовать сортировку двухмерного массива вставками по характеристике Sum. Компилятор выдает ошибку в...

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

Сортировка двумерного массива - C++
25) В каждой строке матрицы A(n, n) найти наибольший элемент и поменять его местами с соответствующим диагональным элементом. #include...

Сортировка Двумерного массива - C++
Создать двумерный массив. Отсортировать каждую строку по возрастанию. Одномерный смог отсортировать а.двух мерный слабо =( ...

Сортировка двумерного массива - C++
Есть задачка с 3-ох пунктов. Первый я сделал(создать многомерный целочисельный масив заданый пользователем). А вот с двумя никак не могу...

Сортировка двумерного массива - C++
Подскажите как отсортировать двумерный массив по возрастанию. Например дан такой массив двумерный: 9 7 4 1 2 3 5 5 5 Должен...

Сортировка двумерного массива - C++
Добрый день. Дано было такое задание . &quot;Даны два числа n и m. Создать матрицу размером и заполнить случайными числами в диапазоне ....

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

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

Сортировка двумерного массива... - C++
Дано: одномерный массив А заполненный случайными числами одномерный массив В заполненный случайными числами двумерный массив С...

Сортировка двумерного массива - C++
Здравствуйте! Есть задача: отсортировать чётные строки массива А по возрастанию, а нечётные по убыванию. Написал следующий код: ...

Сортировка двумерного массива - C++
Задача: Написать код сортировки двумерного массива размерностью m*n. Переставить строки матрицы так, чтобы элементы k-го столбца были...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
n0n4m3r
25 / 25 / 6
Регистрация: 12.10.2013
Сообщений: 183
12.05.2014, 13:02     Сортировка вставками двумерного массива #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вашей функции не хватает двухмерности!


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
void sort() 
{
    int tmp, pos;
    const int n=5, k=5;
    int ar[n][k]; //n - строк в массиве, k - столбцов.
    
    for(int i = 0; i < n; ++i){ // i - номер текущей строки
    for(int j = 0l j < k; ++j) // j - номер текущего шага
{ 
        pos = j; 
        tmp = ar[i][j];
        for(int h = j + 1; h < size; ++h) // цикл выбора наименьшего элемента
        {
            if (ar[i][h] < tmp) 
            {
               pos = h; 
               tmp = ar[i][h]; 
            }
        }
        ar[i][pos] = ar[i][j]; 
        ar[i][j] = tmp; // меняем местами наименьший с a[i]
    }
}
}
Как-то так, делалось без компиляции, но логика, надеюсь, ясна.
rafull6
0 / 0 / 0
Регистрация: 22.02.2013
Сообщений: 32
12.05.2014, 15:03  [ТС]     Сортировка вставками двумерного массива #3
n0n4m3r, большое вам спасибо! очень помогли все понял теперь.
Ответ Создать тему
Опции темы

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