C/C++

Помогите новичку с программированием и матрицами C++

Здравствуйте, помогите пожалуйста написать программу на c++ которая решит данную задачу.
Дана квадратная матрица n x n, заполненная случайными цельными числами. Нужно поменять элементы матрицы относительно главной диагонали.
Если кто то сможет помочь, сделайте пожалуйста что бы не слишком умно это выглядело))
Andy Moszko
Andy Moszko
583
#include <iostream>
#include <random>
#include <iomanip>
using namespace std;
int main() {
cout << " n: ";
size_t n;
cin >> n;
cout.put('\n');

auto mx = new int* [n];
for (auto i = 0U; i < n; ++i)
mx[i] = new int[n];

uniform_int_distribution<> uid(10, 99);
mt19937 gen{ random_device()() };

for (auto i = 0U; i < n; ++i)
for (auto j = 0U; j < n; ++j)
mx[i][j] = uid(gen);

const auto w = 3U;

for (auto i = 0U; i < n; ++i) {
for (auto j = 0U; j < n; ++j)
cout << setw(w) << mx[i][j];
cout.put('\n');
}
cout.put('\n');

for (auto i = 0U; i < n - 1; ++i)
for (auto j = i; j < n - 1; ++j)
swap(mx[i][j + 1], mx[j + 1][i]);

for (auto i = 0U; i < n; ++i) {
for (auto j = 0U; j < n; ++j)
cout << setw(w) << mx[i][j];
cout.put('\n');
}

for (auto i = 0U; i < n; ++i)
delete[] mx[i];
delete[] mx;

system("pause > nul");
}
Нуржан Каюпов
Нуржан Каюпов
96 820
Лучший ответ
void invert_array(int **a, int n)
{
int temp;
for (int i = 0; i < n; ++i)
for (int j = i+1; j < n; ++j)
{
temp = a[i][j];
a[i][j] = a[j][i];
a[j][i] = temp;
}
}
(Тебе осталось только заполнить)
AN
Ale Na Che
2 769
Ответ удалён
Andy Moszko Тогда зачем отвечать?)) тем более что c++ вам не по душе)