Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
lerka1996
2 / 2 / 0
Регистрация: 04.03.2015
Сообщений: 76
1

Функция транспонирования матрицы

08.10.2015, 18:42. Просмотров 2369. Ответов 2
Метки нет (Все метки)

(другими словами, просто двумерный целочисленный массив) размера rows×cols, и возвращает транспонированную матрицу MT (тоже двумерный целочисленный массив) размера cols×rows. Если в M на пересечении i-ой строки и j-ого столбца стояло число x, то на пересечении j-ой строки и i-ого столбца в матрице MT тоже будет стоять число x, или другими словами MT[j][i]=M[i][j].

Обратите внимание, что вам неизвестно, каким именно способом выделялась память для массива M. Выделять память под массив MT можете любым удобным вам способом. Изменять исходную матрицу нельзя.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2015, 18:42
Ответы с готовыми решениями:

Функция транспонирования матрицы
Тема неоднократно поднималась, прошу прощения, но всё же я очень начинающий на...

Функция транспонирования матрицы
Здравствуйте! В университете начали изучать подпрограммы, пока не могу толком...

Функция транспонирования квадратной матрицы
написать функцию транспонирвания квадратной матрицы (т.е. поворота исходной...

Функция транспонирования динамической матрицы N*M
Собственно сабж. Если точнее, проблема возникла с не самим алгоритмом...

функция транспонирования
int** transp(int** a, int n, int m) { int i, j; int** arr = new int*;...

2
zss
Модератор
Эксперт С++
7481 / 6850 / 4324
Регистрация: 18.12.2011
Сообщений: 18,120
Завершенные тесты: 1
08.10.2015, 19:46 2
C++
1
2
3
4
5
6
void Transp(int** a,int** b,int m,int n)
{
    for(int i=0;i<n;i++)
      for(int j=0;j<m;j++)
            b[j][i]=a[i][j];
}
0
ture
529 / 337 / 206
Регистрация: 27.11.2014
Сообщений: 1,043
09.10.2015, 17:46 3
Лучший ответ Сообщение было отмечено lerka1996 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int ** transpose(const int * const * m, unsigned rows, unsigned cols)
{
    //строи
    int ** mT = new int*[cols];
    *mT = new int[cols*rows];
    for(int i = 1; i < cols; ++i)
        mT[i] = mT[i - 1] + rows;
 
    //заполняем
    for(int i = 0; i < rows; ++i)
        for(int j = 0; j < cols; ++j)
            mT[j][i] = m[i][j];
 
    return mT;
}
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2015, 17:46

Функция транспонирования массива
Написать функцию, которая транспонирует заданный в качестве параметра массив...

Неверный результат транспонирования матрицы
Помогите, пожалуйста, разобраться - почему программа выдает в результате 0 1...

Разработать программу транспонирования матрицы
Разработать* программу транспонирования матрицы, размер которой (количество...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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