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

Упорядочить блоки по величине их диагоналей (по убыванию значений их диагоналей). - C++

Восстановить пароль Регистрация
 
DieZZzz
0 / 0 / 0
Регистрация: 29.09.2011
Сообщений: 29
31.10.2011, 23:41     Упорядочить блоки по величине их диагоналей (по убыванию значений их диагоналей). #1
Итак, есть следующая задача:

В заданной двумерной матрице выделить 3 блока по 2 строки и 2 столбца (блоки расположены на главной диагонали матрицы). Упорядочить блоки по величине их диагоналей (по убыванию значений их диагоналей).

Сколько раз я не перечитывал условие, так и не смог его понять.
Буду благодарен, если кто-нибудь объяснит мне, что от меня хотят, ну и заодно, при случае, помогут с кодом.
Указатели, выделение памяти еще не проходили
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2011, 23:41     Упорядочить блоки по величине их диагоналей (по убыванию значений их диагоналей).
Посмотрите здесь:

C++ подсчёт сумм диагоналей матрицы
произведение средних арифм. значений "диагоналей " в матрице C++
Сумма паралельных диагоналей. C++
C++ Перестановка диагоналей в матрице
C++ сумма диагоналей???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Bers
Заблокирован
31.10.2011, 23:52     Упорядочить блоки по величине их диагоналей (по убыванию значений их диагоналей). #2
Я понял задачу так. Есть матрица:

330000
330000
002200
002200
000011
000011

Цыферками 3,2,1 выделил блоки на главной диагонали размером с 2 строки и 2 столбца.

Теперь извлекаем эти блоки:

33 22 11
33 22 11

Получили три маленькие матрицы, которые так же имеют свои главные диагонали:

30 20 10
03 02 01

Извлекаем эти диагонали:

33 22 11

Теперь расставляем предлежащие им мини-матрицы в порядке возрастания

11 22 33

Соответственно наши мини-матрицы переставляются местами:

11 22 33
11 22 33

Соответственно на большой матрице они переставляются местами:


110000
110000
002200
002200
000033
000033

зы: задание и правду сформулировано не удачно. Но головоломка забавная)
DieZZzz
0 / 0 / 0
Регистрация: 29.09.2011
Сообщений: 29
01.11.2011, 00:02  [ТС]     Упорядочить блоки по величине их диагоналей (по убыванию значений их диагоналей). #3
Да уж, повезло. А что делать если таких блоков в матрице будет больше 3х?
Bers
Заблокирован
01.11.2011, 00:37     Упорядочить блоки по величине их диагоналей (по убыванию значений их диагоналей). #4
Цитата Сообщение от DieZZzz Посмотреть сообщение
В заданной двумерной матрице выделить 3 блока
По задаче не важно сколько их может быть. Важно что выделить ты должен только 3.
Первые 3, последние 3, случайные 3. Любые 3

Главное, что исходя из задачи, их никак не может быть меньше трех. То есть, матрица по количеству строк и столбцов не может быть меньше, чем 6 на 6.

А вообще, если б я такое задание получил, я б запросил разъяснения.
Я б сказал: я не понял, что от меня требуется? Переформулируйте задачу. Я её не понимаю.
Потому что есть риск решить совсем не ту задачу, которую нужно.

Но если нет возможности получить разъяснения - нужно решать исходя из того, что есть, и надеяться, что это прокатит.

Поэтому, если у тебя нет возможности уточнить задание, то исходи из того, что размер твоей матрицы 6 на 6. То есть количество блоков в ней - строго три штуки.

И делать нужно так, что бы в случае чего, логику программы легко можно было переделать с минимальными изменениями кода.
DieZZzz
0 / 0 / 0
Регистрация: 29.09.2011
Сообщений: 29
01.11.2011, 00:56  [ТС]     Упорядочить блоки по величине их диагоналей (по убыванию значений их диагоналей). #5
У меня еще запас 2 недели. Думаю вот как раз разберусь. Буду пошагово выполнять и компилировать, чтобы не ошибиться, а то уж слишком навороченный код получается.
В любом случае, спасибо за помощь. Первый шаг уже сделан
Yandex
Объявления
01.11.2011, 00:56     Упорядочить блоки по величине их диагоналей (по убыванию значений их диагоналей).
Ответ Создать тему
Опции темы

Текущее время: 19:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru