Предмет: Информатика, автор: Аноним

c++

Транспонировать квадратную матрицу

Дан двумерный массив размером n×n. Транспонируйте его и результат запишите в этот же массив (транспонированная матрица из исходной получается, если каждую строчку исходной матрицы записать в виде столбца в том же порядке). Вспомогательный массив использовать нельзя.


Ввод и вывод матрицы t уже написаны, необходимо только написать трнаспонирование матрицы t.


Входные данные


На первой строке входных данных задано натуральное число n≤500. В следующих n строках задано по n натуральных чисел — элементы массива.


Выходные данные


Выведите ответ на задачу.


Примеры

Ввод

Вывод

3

1 2 3

4 5 6

7 8 9

1 4 7

2 5 8

3 6 9

using namespace std;

int main()
{
int n;
cin >> n;
vector > t(n, vector (n));
int i1 = 0, j1 = 0;
for (int i = 0; i < t.size(); ++i){
for (int j = 0; j < t[i].size(); ++j){
cin >> t[i][j];
}
}


for (int i = 0; i < t.size(); ++i){
for (int j = 0; j < t[i].size(); ++j){
cout << t[i][j] << " ";
}
cout << endl;
}
return 0;
}

Ответы

Автор ответа: ilai2541358
3

Ответ:

   for (int i = 0; i < t.size(); ++i) {

       for (int j = 0; j < i; ++j) {

           swap(t[j][i] ,t[i][j]);

           }

       }

Объяснение:

Похожие вопросы