Поменять местами строки и столбцы в матрице
Дана матрица, в которой надо поменять строки и столбцы местами. Ниже код, который уже набросал, но он не меняет местами строки и столбцы.
Кто может объяснить, как правильно в с++ можно поменять строки и столбцы? Спасибо.
#include <iostream>
#include <math.h>
using namespace std;
const int n = 4;
int R[n][n] = {
{ 4, 8, 11, 5, },
{ 2, 12, 9, 14 },
{ 0, 5, 0, 7 },
{ 1, 6, 3, 4 }
};
void main()
{
setlocale(0, "");
cout << "Исходная матрица: \n";
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout << R[i][j] << " ";
}
cout << endl;
}
//Меняем местами строки
for (int i = 0; i < n; i++)
{
int tmp;
//Ниже ошибки
tmp = R[0, i];
R[0, i] = R[3, i];
R[3, i] = tmp;
}
//
cout << "Преобразованная матрица: \n";
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout << R[i][j] << " ";
}
cout << endl;
}
system("pause");
}
Источник: Stack Overflow на русском