|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.10.2010, 18:40 | #1 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 21
|
Преобразования матрицы
Вот задачка:
"Допустимым преобразованием матрицы назовем перестановку двух соседних строк или столбцов. Пусть дана вещественная квадратная матрица порядка N. C помощью допустимых преобразований получите матрицу, в которой один из элементов с наибольшим значением располагается в левом верхнем углу. Преобразование строк и столбцов осуществить через процедуры." Это как? хотябы принцип действия объясните пожалуйста. Не пойму, как запомнить номер максимального элемента и потом еще переставить его, ппц. |
18.10.2010, 18:46 | #2 |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
язык?
если (остальное в подписи)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
18.10.2010, 18:49 | #3 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
Для статической матрицы:
1) сначала нужно определить порядок матрицы. 2) заполнить ее элементами - тут либо псевдослучайными числами, либо сделать ввод от пользователя. 3) найти максимальный элемент. 4) двигать строку с элементом вверх, меняясь местами с соседними верхними строками попорядку. 5) когда строка с этим максимальным элементом будет первой, двигать столбец с этим максимальным элементом влево, опят же меняясь местами со столбцами , котрые стоят левее.
Изо всей благодати
В руках крепко сжатых Я донесу только капли |
18.10.2010, 19:14 | #4 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 21
|
Язык паскаль. 1.2.3. пункты я уж понял, вот 4 пункт немного непонятен, как переместить всю строку, зная только номер строки...
|
18.10.2010, 19:17 | #5 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
перебирать строку поэлементно от первого элемента до последнего, каждый элемент текущей строки менять местами с элементом верхней строки.
Изо всей благодати
В руках крепко сжатых Я донесу только капли |
18.10.2010, 19:30 | #6 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 21
|
ну вот я наскрябал немного, с перестановкойм проблемы, то есть ничего.
Код:
Последний раз редактировалось zevs116; 18.10.2010 в 19:39. |
18.10.2010, 20:19 | #7 |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
нну хорошо, вот тебе пример, тут осталось дописать только процедуру для перестановки столбцов. Для строк я уже написал:
Код:
1)зачем тебе NumRow и NumCol - ведь матрица квадратная. Сказано - порядок матрицы, а это одно число только. 2)зачем же второй массив? 3)матрица вещественная, а ты объявляешь как of integer. 4)Проверяй код мой. И напиши самостоятельно процедуру для перестановки двух соседних столбцов.
Изо всей благодати
В руках крепко сжатых Я донесу только капли Последний раз редактировалось Roof; 18.10.2010 в 20:27. |
18.10.2010, 20:40 | #8 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 21
|
блин,у меня проснулся спортивный интерес, почему моя только один раз строку переставляет, а не до получения результата?
Код:
матрица квадратная - да забыл)) Последний раз редактировалось zevs116; 18.10.2010 в 20:43. |
18.10.2010, 20:50 | #9 | |
Форумчанин
Регистрация: 01.02.2007
Сообщений: 785
|
Цитата:
Проанализируй мой код внимательно - все встанет на свои места. P.S: 1)сортировка тут, на мой взгляд, не совсем уместное понятие. Для запоминания элемента используется переменная temp. Анализируй мою процедуру перестановки строк. 2)что такое Maxi и Maxj - это понятно?
Изо всей благодати
В руках крепко сжатых Я донесу только капли Последний раз редактировалось Roof; 18.10.2010 в 20:55. |
|
18.10.2010, 21:00 | #10 |
Пользователь
Регистрация: 27.09.2010
Сообщений: 21
|
да, Maxi и maxj это номера строки и столбца максимального элемента.
Да, у Вас это перестановка очень легко делается, а я делал типо сначала всю строку запоминаем в отдельный массив-строку, потом заменяем всю строку и тд и тп... вот код, работает: Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Преобразования изображения!!!=)) | KoSSteN | Помощь студентам | 0 | 29.03.2010 23:28 |
явные преобразования | breate | Общие вопросы C/C++ | 2 | 17.12.2009 00:45 |
Аффинные преобразования | meradone | Общие вопросы Delphi | 0 | 22.11.2009 15:00 |