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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
rmb
1 / 1 / 0
Регистрация: 16.11.2011
Сообщений: 18
#1

Построение новой матрицы по части заданой матрицы - C++

17.11.2011, 20:01. Просмотров 806. Ответов 7
Метки нет (Все метки)

Доброго времени суток, уважаемые форумчане!
Не могу реализовать свою идею, посдкажите как, пожалуйста.

Задача.

Получить квадратную матрицу В порядка n, каждый элемент bij(i,j индексы) которой равен максимуму из элементов исходной квадратной матрицы А порядка n, расположенных в закрашенной области, определяемой индексами i, j, на рисунке.

Добавил также фото, где показано по какому принципу строиться матрица b.

Моей идей было то, что элементы матрицы А, которые нужно сравнить между собой, записываются в массив С. После этого находится максимум по массиву С и записывается в соответствующий элемент матрицы B.

Не могу придумать алгоритм, по которому все нужные мне элементы попадают в массив С из матрицы А.

Спасибо.
Миниатюры
Построение новой матрицы по части заданой матрицы  
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2011, 20:01     Построение новой матрицы по части заданой матрицы
Посмотрите здесь:

C++ На главной диагонали новой матрицы разместить элементы заданного столбца исходной матрицы
Матрицы[макс. элементы, получение новой матрицы] C++
Матрица_формирование новой матрицы C++
Функция формирования новой матрицы C++
C++ Как найти максимальное число из элементов заданой матрицы
C++ Построение Матрицы С++
Для заданой квадратной матрицы сформулировать одномерный массив из ее диагональных элементов. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
18.11.2011, 11:33     Построение новой матрицы по части заданой матрицы #2
Цитата Сообщение от rmb
Получить квадратную матрицу В порядка n, каждый элемент bij(i,j индексы) которой равен максимуму из элементов исходной квадратной матрицы А порядка n, расположенных в закрашенной области, определяемой индексами i, j, на рисунке.
как закрашенная область определяется индексами i и j ?
rmb
1 / 1 / 0
Регистрация: 16.11.2011
Сообщений: 18
21.11.2011, 12:32  [ТС]     Построение новой матрицы по части заданой матрицы #3
Цитата Сообщение от accept Посмотреть сообщение
как закрашенная область определяется индексами i и j ?
если взять 2 матрицы 5х5,то

элемент b[0][0] центральному элементу из массива А.(т.е. а[2][2])

элемент b[0][1] равен максимуму из а[2][2] и а[2][3]

элемент b[0][2] равен максимуму из а[2][2], а[2][3], а[2][1]

элемент b[0][3] равен максимуму из а[2][2], а[2][3], а[2][1], а[2][4]

элемент b[0][4] равен максимуму из а[2][2], а[2][3], а[2][1], а[2][4], а[2][0]
(это максимум из строки 2)

элемент b[1][0] равен максимуму из а[2][2] и а[3][2]

элемент b[1][1] равен максимуму из квадрата, который образуют элементы а[2][2], а[3][2], а[2][3], а[3][3]

элемент b[1][2] равен максимуму из прямоугольника, который образуют элементы а[2][2], а[3][2], а[2][3], а[3][3], а[2][1],a[3][1]

элемент b[1][3] равен максимуму из прямоугольника, который образуют элементы а[2][2], а[3][2], а[2][3], а[3][3], а[2][1], a[3][1], a[2][4], a[2][4]

элемент b[1][4] равен максимуму из прямоугольника, который образуют элементы а[2][2], а[3][2], а[2][3], а[3][3], а[2][1], a[3][1], a[2][4], a[2][4], а[3][0], a[2][0]
(это максимум из строк 2 и 3)

элемент b[2][0] равен максимуму из элементов a[2][2], a[3][2], a[1][2]


элемент b[2][1] равен максимуму из прямоугольника, который образуют элементы a[2][2], a[3][2], a[1][2], а[2][3], а[3][3], а[1][3],

элемент b[2][2] равен максимуму из квадрата, который образуют элементы а[2][2], a[3][2], a[1][2], а[2][3], а[3][3], а[1][3], а[2][1], а[3][1], а[1][1]

элемент b[2][3] равен максимуму из прямоугольника, который образуют элементы а[2][2], a[3][2], a[1][2], а[2][3], а[3][3], а[1][3], а[2][1], а[3][1], а[1][1], а[2][4], а[3][4], а[1][4]

элемент b[2][4] равен максимуму из элементов строк 2,3,1.

далее по аналогии.

в итоге, последний элемент матрицы B(b[4][4]) будет равен максимум из всех элементов матрицы А.
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
21.11.2011, 23:05     Построение новой матрицы по части заданой матрицы #4
Цитата Сообщение от rmb
а[2][2], a[3][2], a[1][2], а[2][3], а[3][3], а[1][3], а[2][1], а[3][1], а[1][1]
Код
а[1][1], а[2][1], а[3][1], a[1][2], а[2][2], a[3][2], а[1][3], а[2][3], а[3][3]
это то же самое, но смотрится лучше
лучше всё упорядочить, чтобы было вообще понятно, как брать элементы из исходной матрицы

задание должно быть яснее задано
Получить квадратную матрицу В порядка n, каждый элемент bij(i,j индексы) которой равен максимуму из элементов исходной квадратной матрицы А порядка n, расположенных в закрашенной области, определяемой индексами i, j, на рисунке.
про что речь ? как можно получить из подматрицы матрицы порядка n матрицу порядка n ?
rmb
1 / 1 / 0
Регистрация: 16.11.2011
Сообщений: 18
22.11.2011, 12:55  [ТС]     Построение новой матрицы по части заданой матрицы #5
Есть 2 матрицы например int a[5][5], b[5][5]={0};
мы, согласно тому, как я описал выше, выбираем из матрицы А и записываем их в матрицу B.
каждому элементу из матрицы B соответствует максимуму из какой-то области в матрице А. Размеры области зависят от индексов элемента матрицы B.
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
22.11.2011, 14:15     Построение новой матрицы по части заданой матрицы #6
Цитата Сообщение от rmb
каждому элементу из матрицы B соответствует максимуму из какой-то области в матрице А. Размеры области зависят от индексов элемента матрицы B.
Цитата Сообщение от rmb
элемент b[0][0] центральному элементу из массива А.(т.е. а[2][2])
элемент b[0][1] равен максимуму из а[2][2] и а[2][3]
элемент b[0][2] равен максимуму из а[2][2], а[2][3], а[2][1]
элемент b[0][3] равен максимуму из а[2][2], а[2][3], а[2][1], а[2][4]
элемент b[0][4] равен максимуму из а[2][2], а[2][3], а[2][1], а[2][4], а[2][0]
(это максимум из строки 2)
надо по порядку писать, потому что нужно делать цикл, который будет переходить последовательно
максимум из третьей строки
для поиска максимума порядок элементов не важен, а для построения цикла - важен
rmb
1 / 1 / 0
Регистрация: 16.11.2011
Сообщений: 18
22.11.2011, 18:20  [ТС]     Построение новой матрицы по части заданой матрицы #7
что же делать?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2011, 01:47     Построение новой матрицы по части заданой матрицы
Еще ссылки по теме:

C++ получение новой матрицы
Транспонировать квадратную матрицу, используя только оператор for. Новой матрицы не создавать. Вывести исходную и транспониро-ванную матрицы C++
C++ Построение матрицы
C++ Построение матрицы смежности
Поиск по заштрихованной части матрицы C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
accept
4817 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
23.11.2011, 01:47     Построение новой матрицы по части заданой матрицы #8
Цитата Сообщение от rmb
лемент b[1][0] равен максимуму из а[2][2] и а[3][2]
элемент b[1][1] равен максимуму из квадрата, который образуют элементы а[2][2], а[3][2], а[2][3], а[3][3]
элемент b[1][2] равен максимуму из прямоугольника, который образуют элементы а[2][2], а[3][2], а[2][3], а[3][3], а[2][1],a[3][1]
элемент b[1][3] равен максимуму из прямоугольника, который образуют элементы а[2][2], а[3][2], а[2][3], а[3][3], а[2][1], a[3][1], a[2][4], a[2][4]
элемент b[1][4] равен максимуму из прямоугольника, который образуют элементы а[2][2], а[3][2], а[2][3], а[3][3], а[2][1], a[3][1], a[2][4], a[2][4], а[3][0], a[2][0]
(это максимум из строк 2 и 3)
чему равен элемент b[1][3] ? зачем сравниваеть элемент a[2][4] с самим собой ?
ты не в состоянии записать обход прямоугольников от левой верхней вершины до правой нижней вершины слева-направо ?
из-за того, что матрица задаётся произвольно, нужно знать алгоритм прохода, объединяющий все матрицы (в виде формулы)

Цитата Сообщение от rmb
определяемой индексами i, j, на рисунке.
где там на рисунке индексы i и j ?
задача должна быть точно поставлена
Yandex
Объявления
23.11.2011, 01:47     Построение новой матрицы по части заданой матрицы
Ответ Создать тему
Опции темы

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