|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.08.2014, 08:12 | #1 |
Регистрация: 12.08.2014
Сообщений: 3
|
Помогите найти ошибку: Сортировка строк матрицы по убыванию соответствующего элемента главной диагонали(Cи)
помоги пожалуйста
не могу понять в чём ошибка! Код:
|
12.08.2014, 08:29 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
По-моему так эту задачу не решишь. Ты когда переставляешь строки матрицы, у тебя получается меняются и сами элементы главной диагонали. У тебя диагональ не стабильна. Тут нужен другой метод. Например: Добавь в матрицу еще одну колонку (которую на экран не выводи). По созданию в нее перепиши элементы диагонали, и сортируй уже по этой колонке. Тогда даже двигая строки данные в колонке меняться не будут относительно своих строк.
I'm learning to live...
|
12.08.2014, 08:55 | #3 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
на мой взгляд, нужно делать так: найти строку с максимальным элементов в позиции 1-столбца ( max (a[i,0] ) поставить эту строку на первое место (строка с индексом 0). Потом среди оставшихся строк найти строку с максимальным элементом в позиции 2-го столбца ( max (a[i,1] ) и поставить эту строку на второе место (строка с индексом 1) и т.д. Примерный код набросать или самостоятельно справитесь? |
|
12.08.2014, 08:58 | #4 |
Регистрация: 12.08.2014
Сообщений: 3
|
что-то не совсем понимаю как это реализовать,можете помочь с кодом?
|
12.08.2014, 13:58 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
нет, я не додумал.
Предложенный мною выше алгоритм работать не будет! например, если есть матрица: Код:
но во втором столбце максимальный элемент 23 - уже не получается обеспечить убывание элементов главной диагонали. Надо ещё подумать над алгоритмом. добавлено очевидно, что не для любой матрицы подобная сортировка вообще может быть осуществлена! Последний раз редактировалось Serge_Bliznykov; 12.08.2014 в 14:03. |
12.08.2014, 14:25 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
12.08.2014, 14:45 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А мне не кажется. Переставив строки таким образом получим неупорядоченную диагональ. Просто в лоб - перебор всех вариантов расположения строк. И решение может отсутствовать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
12.08.2014, 15:46 | #8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
12.08.2014, 16:13 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
думаю, что нет. 1-х, нет проверки на то, что задание не имеет решения 2-е. нет перебора всех возможных вариантов. |
|
12.08.2014, 17:36 | #10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с матрицами на С++. Найти сумму элементов, расположенных выше главной диагонали, включая элементы главной диагонали. | Анастасия225 | Помощь студентам | 5 | 20.01.2014 20:47 |
от -20 до 20. Требуется:. Найти сумму элементов главной диагонали матрицы | luchik098 | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 16.06.2013 21:27 |
Составить программу для обмена местами максимального и минимального элемента главной диагонали квадратной числовой матрицы. | сона | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 09.07.2012 00:57 |
Найти сумму элементов главной диагонали матрицы (Паскаль.) | r.elen | Помощь студентам | 10 | 14.04.2011 13:24 |
Ф-ия, определяющая сумму строк матрицы, если на главной диагонали матрицы имеется отрицательный эл-т. | Volk_xD | Помощь студентам | 6 | 05.01.2011 13:39 |