|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.06.2010, 20:47 | #1 |
Форумчанин
Регистрация: 17.11.2009
Сообщений: 108
|
Сортировка матрицы
Привет всем!
Прошу помощи в непростой, на мой взгляд, задаче. Заранее скажу, что код - не самое важное. Главное - это алгоритм, хочу разобраться как именно вначале делать, а потом уже кодить. А задача следующая: Дана квадратная матрица. Упорядочить строки матрицы по убыванию элементов ее главной диагонали. Еще раз повторюсь, для меня тут сложен механизм работы с индексами. Заранее спасибо. |
22.06.2010, 21:01 | #2 |
Форумчанин
Регистрация: 16.08.2008
Сообщений: 276
|
Имеется ввиду что за строки нужно принять линии, параллельные главной диагонали матрицы?
___________________ Возникла новая теория: Упорядочить матрицу таким образом: элементы, находящиеся слева главной диагонали - сортировать от большего к меньшему, а элементы находящиеся справа от главной диагонали - сортировать от меньшего к большему Или я чего-то не понимаю?
Искусственный интеллект - фигня по сравнению с естественной глупостью
Последний раз редактировалось Impuls1989; 22.06.2010 в 21:07. |
22.06.2010, 21:20 | #3 |
Форумчанин
Регистрация: 17.11.2009
Сообщений: 108
|
Имеется ввиду:
было 1 2 3 4 6 7 8 9 2 3 4 5 7 8 9 0 стало 6 7 8 9 2 3 4 5 1 2 3 4 7 8 9 0 |
22.06.2010, 21:46 | #4 |
Форумчанин
Регистрация: 16.08.2008
Сообщений: 276
|
Ну так в чем проблема?
Предположим у Вас есть матрица a[n][n], которую нужно отсортировать 1. создаем массив b[2][n] 2. Закидываем в массив b[0][i] значения вашей матрицы 3. Закидываем в массив b[1][i] значение i 4. Сортируем массив b по нулевой строке (при перестановке элементов, переставлять элементы и нулевой и первой строки: Swap(b[0][i], b[0][k]); Swap(b[1][i], b[1][k]), где Swap - меняет два элемента местами Собственно все. После сортировки, в b[1][i] , будет находится нужная вам последовательность строк. Останется только переставить строки массива a в соответствии с b[1][i] Можно уменьшить головную боль с массивом на 2 строки, создав структуру данных: Код:
в поле row - заносится номер строки. Надеюсь понятно объяснил
Искусственный интеллект - фигня по сравнению с естественной глупостью
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сортировка матрицы | Dartchuwak | Помощь студентам | 4 | 06.04.2010 15:49 |
Сортировка матрицы | Eovin | Помощь студентам | 0 | 20.12.2009 15:36 |
Матрицы. Сортировка | Ominous48 | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 18.05.2009 11:51 |