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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Cular
0 / 0 / 0
Регистрация: 30.05.2009
Сообщений: 13
#1

Выполнить операцию транспонирования прямоугольной матрицы - C++

31.05.2009, 09:32. Просмотров 1296. Ответов 3
Метки нет (Все метки)

Выполнить операцию транспонирования прямоугольной матрицы A (m, n), m не равно n, не выделяя дополнительный массив для хранения результата.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2009, 09:32     Выполнить операцию транспонирования прямоугольной матрицы
Посмотрите здесь:

Выполнить операцию транспонирования прямоугольной матрицы C++
C++ Функция транспонирования матрицы
Числа по основанию 8 и 4. Выполнить операцию деления C++
Числа по основанию 10 и 16. Выполнить операцию сложения C++
C++ Числа по основанию 2 и 10. Выполнить операцию умножения
Системы счисления 2 и 16, выполнить операцию сложение C++
Как десятью потоками выполнить операцию 50 раз C++
Числа по основанию 2 и 16. Выполнить операцию умножения C++
Ввести два числа и выполнить указанную операцию C++
Функция транспонирования матрицы C++
C++ Функция транспонирования матрицы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FunDuck
688 / 379 / 4
Регистрация: 22.01.2009
Сообщений: 1,135
31.05.2009, 11:35     Выполнить операцию транспонирования прямоугольной матрицы #2
Может так:
C++
1
2
3
for (int i = 0; i < N; i++)
    for (int j = 0; j < M; j++)
        swap(arr[i][j], arr[j][i]);
?
Patch
2276 / 491 / 11
Регистрация: 01.04.2009
Сообщений: 2,178
31.05.2009, 11:45     Выполнить операцию транспонирования прямоугольной матрицы #3
FunDuck, ты хоть сам прикинь, что из этого получится...
когда будет i=1, j=0 наступип путаница.
потому что номер в реальном массиве у него M*1+0.
и содержит он УЖЕ число из позиции M*0+1.
а поскольку матрица еще и не квадратная... мешанина. Концов не найдешь.
Evg
Эксперт CАвтор FAQ
17404 / 5642 / 353
Регистрация: 30.03.2009
Сообщений: 15,434
Записей в блоге: 26
31.05.2009, 14:33     Выполнить операцию транспонирования прямоугольной матрицы #4
Мне всегда казалось, что транспонирование - это зеркальное отражение относительно одной из диагоналей или что-то типа того, т.е. по определению только для квадратной матрицы

А по поводу кода FunDuck'а - в цикле по j надо "j < M" заменить на "J < i". ТОгда получится отражение оносительно главной диагонали (вроде бы как)

Добавлено через 2 минуты 48 секунд
Хм.. в соседней теме то же задание. Транспонирование прямоугольной матрицы MxN это по сути построение другой матрицы NxM? Тогда метод FunDuck'а не годится. Проще всего построить отдельную матрицу ипросто перегнать в неё элементы из исходной матрицы
Yandex
Объявления
31.05.2009, 14:33     Выполнить операцию транспонирования прямоугольной матрицы
Ответ Создать тему
Опции темы

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