![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Заблокирован
Регистрация: 11.09.2011
Сообщений: 1
|
![]()
Помогите пожалуста решить задачу на Паскале!
Дана матрица M x N. Отсортировать по возрастанию элементы стоящие выше побочной диагонали.(элементы вводятся с клавиатуры) Последний раз редактировалось pasha18; 11.09.2011 в 22:37. |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
1) задача имеет решение ТОЛЬКО при M == N
т.к. только для квадратных матрицы существуют определения главной и побочной диагонали. 2) невозможно запрограммировать то, что Вы не понимаете.. Цитата:
допустим, есть матрица 5x5 Код:
|
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 04.11.2010
Сообщений: 3
|
![]()
да вроде матрица не обезательно должна быть квадратной, по крайней мере мне препод так сказал)
вот так она должна отсортироваться 2 3 3 4 1 5 6 7 1 0 7 8 1 0 0 9 1 0 0 0 1 0 0 0 0 |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 08.08.2011
Сообщений: 39
|
![]()
хм насчет паскаля не знаю . но вот быстренько набросал на с++ код
получилось слегка громоздко )) Код:
както так.должно работать и ах да . будет работать только с квадратной ) ибо про диагональ не квадратной матрицы ничего не знаю ) Последний раз редактировалось dasvex; 12.09.2011 в 02:11. |
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Или у него собственные представления о побочной диагонали... Попробуйте нарисовать ему матрицу, например, 3x7 и попросить его отметить элементы, состовляющие побочную диагональ (если у него получится, то пусть проделает то же самое, например, с матрицей 2x10) ![]() по поводу решения. я бы предложил такой вариант. он не самый оптимальный - зато самый простой в реализации. объявить дополнительный одинарный массив размером (N^2 - N) div 2 простым циклом перебросить туда элементы, находящиеся выше побочной диагонали. отсортировать этот массив. Перебросить элементы из одномерного массива обратно на свои места в матрицу. Код:
Да и можно написать сортировку "на месте" - прямо в матрице... |
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 04.11.2010
Сообщений: 3
|
![]()
Спасибо, вроде работает
![]() |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Элементы выше побочной диагонали по возрастанию. | rwss gle | Паскаль, Turbo Pascal, PascalABC.NET | 9 | 29.03.2011 20:18 |
Найти наименьший отрицательный элемент выше побочной диагонали и наименьший положительный ниже (Pascal) | Tifa | Помощь студентам | 10 | 28.01.2011 08:23 |
Сортировка побочной диагонали метадом вставки | skrup | Общие вопросы Delphi | 0 | 10.12.2010 19:53 |
Дан двумерный массив.Найти наибольший отрицательный элемент выше побочной диагонали и наименьший положите | red-white | Помощь студентам | 1 | 05.11.2010 09:51 |
Сортировка побочной диагонали Pascal | Erges | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 10.09.2009 12:15 |