Здравствуйте, помогите пожалуйста написать программу на c++ которая решит данную задачу.
Дана квадратная матрица n x n, заполненная случайными цельными числами. Нужно поменять элементы матрицы относительно главной диагонали.
Если кто то сможет помочь, сделайте пожалуйста что бы не слишком умно это выглядело))
C/C++
Помогите новичку с программированием и матрицами C++
#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");
}
#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");
}
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;
}
}
(Тебе осталось только заполнить)
{
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;
}
}
(Тебе осталось только заполнить)
Ответ удалён
Andy Moszko
Тогда зачем отвечать?)) тем более что c++ вам не по душе)
Похожие вопросы
- Может ли новичок в программирование начать с c++/Gamedev
- День добрый \[-_-]/ вопрос по вузовскому программированию на си(C)
- Какую тему курсовой выбрать для супер новичка программирования на языке C++?
- Стоит ли начинать изучение программированию с языка C?
- Задача по матрице C++
- Элементы Матрицы C++
- Помогите с языком программирования C++
- Помогите пожалуйста с программированием на C++
- Помогите пожалуйста с программированием на C!
- Программирование на языках C/C++