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

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

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

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

17.11.2011, 20:01. Просмотров 818. Ответов 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++
У меня вот небольшой ступр, помогите, пожалуйста. Дана квадратная матрица действительных чисел D размерности NxN. Создать новую матрицу С...

Матрицы[макс. элементы, получение новой матрицы] - C++
6. В данной квадратной целочисленной матрице порядка 17 указать индексы всех элементов с наибольшим значением. 9. Дана действительная...

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

Как найти максимальное число из элементов заданой матрицы - C++
как найти максимальное число из элементов заданой матрицы (6,6)

Для заданой квадратной матрицы сформулировать одномерный массив из ее диагональных элементов. - C++
Помогите пожалуйста решить задачу, написав код программы в С++ Для заданой квадратной матрицы сформулировать одномерный массив из ее...

получение новой матрицы - C++
Даны две действительные квадратные матрицы порядка n. Получить новую матрицу умножением элементов каждого столбца первой матрицы на...

Матрица_формирование новой матрицы - C++
Вот условие задачи:Составить прогу,которая получает матрицу Х размерностью mxn. Прога в каждой строке определяет наименьший элемент и его...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4821 / 3241 / 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
4821 / 3241 / 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
4821 / 3241 / 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++
Помогите составить функцию NewMatr, у меня она не правильная. Вот условие задачи:Составить прогу,которая получает матрицу Х размерностью...

Вывод части матрицы - C++
Напечатать таблицу, содержащую номера, фамилии и оценку студентов по высшей математике, а также подсчитать средний балл группы по этому...

Построение матрицы - C++
Помогите пожалуйста!!! Для заданного значения n (константа) построить вещественную матрицу X nxn: 1 1 1..........1 1 1 1 2 2...

Построение Матрицы С++ - C++
Пмогите составить матрицу в С++,думаю надо сделать через for,но не знаю как задать. Сама матрица: 1234568910 0123456789 0012345678 ...

Поиск по заштрихованной части матрицы - C++
Такая вот задача: есть матрица 5х5 (заполняется случайным образом), в ней некоторые елементы заштрихованы. Найти минимальный элемент в...


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

Или воспользуйтесь поиском по форуму:
accept
4821 / 3241 / 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     Построение новой матрицы по части заданой матрицы
Ответ Создать тему
Опции темы

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