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

Алгоритм транспонирования матриц - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 4.91
Crudelis
Шаровик затейник
 Аватар для Crudelis
667 / 409 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
12.06.2010, 21:33     Алгоритм транспонирования матриц #1
К примеру есть матрица где n=5, m=8;
как написать программу транспонирования матрицы, не могу разобраться...
Я делаю temp матрицу temp[m][n] и не пойму как сделать алгоритм транспонирования
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.06.2010, 21:33     Алгоритм транспонирования матриц
Посмотрите здесь:

C++ транспонирования
транспонирования C++
Алгоритм Штрассена для быстрого перемножения матриц C++
C++ Разработать алгоритм и написать по нему программу транспонирования матрицы А размера m × n. Значение величин m и n выбрать из табл. 4.1 в соответствии
Разработать алгоритм и написать по нему программу сложения матриц А и В размера m × n C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Piratcom
 Аватар для Piratcom
21 / 21 / 3
Регистрация: 05.08.2009
Сообщений: 243
12.06.2010, 21:45     Алгоритм транспонирования матриц #2
Если temp[m][n] то нужно создать массив tempT[n][m], и переписать все значения из одной в другую... Транспонирование-замена строк столбцами или наоборот кому как нравится...

Добавлено через 4 минуты
C
1
2
3
4
5
for(i=0;i<m;i++){
                          for(j=0;j<n;j++){
                                                tempT[n][m]=temp[m][n];
                                               }
                      }
Кажется так...
Crudelis
Шаровик затейник
 Аватар для Crudelis
667 / 409 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
12.06.2010, 22:06  [ТС]     Алгоритм транспонирования матриц #3
благодарю

Добавлено через 6 минут
Цитата Сообщение от Piratcom Посмотреть сообщение
Если temp[m][n] то нужно создать массив tempT[n][m], и переписать все значения из одной в другую...
данный вариант работает при квадратной матрице, а что делать с матрицей моем случаем, подскажите
Piratcom
 Аватар для Piratcom
21 / 21 / 3
Регистрация: 05.08.2009
Сообщений: 243
12.06.2010, 22:13     Алгоритм транспонирования матриц #4
По идее должен работать не только с квадратными...
P.S. Правильно так:
C
1
for(i=0;i<m;i++){for(j=0;j<n;j++){tempT[j][i]=temp[i][j];}}
Crudelis
Шаровик затейник
 Аватар для Crudelis
667 / 409 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
13.06.2010, 00:36  [ТС]     Алгоритм транспонирования матриц #5
Цитата Сообщение от Piratcom Посмотреть сообщение
По идее должен работать не только с квадратными...
не получается у меня с не квадратными матрицами. смотри пример
есть матрица arr[5][8]
нужно получить tem[8][5]
пишем
C++
1
2
3
4
5
int **tem=new int [8];
for(int i=0;i<8;i++)
{
tem[i]=new int [5];
}
получили матрицу темп.

как далее писать не пойму, мне нужно из arr в tem перенести элементы
как вы советуете
C++
1
for(i=0;i<5;i++){for(j=0;j<8;j++){tem[j][i]=arr[i][j];}}
как я могу скопировать arr[6][j] если размер массива 5 и наоборот куда будут деваться элементы массива arr[i][6], arr[i][7],arr[i][8]? не пойму как составить алгоритм
Yandex
Объявления
13.06.2010, 00:36     Алгоритм транспонирования матриц
Ответ Создать тему
Опции темы

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