Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача c++.Транспонирование матрицы.

upbsoeu1 upbsoeu1 Ученик (209), открыт 1 неделю назад
Задан двумерный массив A размерами n × n. Требуется отразить элементы A относительно главной диагонали. Иными словами нужно поменять местами строки матрицы и ее столбцы. Так требуется поменять местами:

1.первую строку с первым столбцом,
2.вторую строку со вторым столбцом,
3.третью строку с третьим столбцом,
4.и т. д.
Входные данные
В первой строке задано одно целое число n (1 ≤ n ≤ 100).

Далее следует n строк. В каждой строке через пробел задано n целых чисел A(i,1),A(I,2)....,A(i,n) (−100 ≤ A(i,j) ≤ 100).

Выходные данные
Выведите n строк по n целых чисел в каждой — элементы матрицы A после всех изменений. Числа в строках разделяйте пробелами.
1 ответ
Ксения Райт Гений (91064) 1 неделю назад
 #include  
#include
#include

using namespace std;

int main()
{
int l, m, n;
cin >> n;
vector > A(n, vector(n));
for (l = 0; l < n; ++l)
for (m = 0; m < n; ++m)
cin >> A[l][m];
for (l = 0; l < n; ++l)
for (m = l + 1; m < n; ++m)
swap(A[l][m], A[m][l]);
for (l = 0; l < n; ++l)
{
for (m = 0; m < n; ++m)
cout << setw(5) << A[l][m];
cout << endl;
}
return 0;
}
Похожие вопросы