#include <iostream>
#include <stdlib.h> // нужен для вызова функций rand(), srand()
#include <ctime>
using namespace std;
int GetRandomNumber(int min, int max) {
return min + rand() % (max - min + 1);
}
int main() {
srand(time(NULL)); // устанавливаем сид для генерации случайного числа
int rank;
cout<<"Input matrix rank:";
cin >> rank;
int matr[rank][rank];
// заполним матрицу случайными числами
for (int i = 0; i < rank; i ++) {
for (int j = 0; j < rank; j ++) {
matr[i][j] = GetRandomNumber(0,50); // тут можно изменить диапазон генерации (0,50)
cout << "\t" << matr[i][j];
}
cout << endl;
}
int min = matr[0][0], max = matr[0][0]; // мин и макс элементу соответственно присваиваем первый элемент матрицы
int columnMin = 0, columnMax = 0; // номера столбцов с мин и макс числами соответственно
// поиск номеров нужных столбцов
for (int i = 0; i < rank; i ++) {
for (int j = 0; j < rank; j ++) {
if (matr[i][j] > max) max = matr[i][j], columnMin = j;
if (matr[i][j] < min) min = matr[i][j], columnMax = j;
}
}
cout << "swap " << columnMin+1 << " and " << columnMax+1 << " columns" << endl;;
// меняем столбцы местами
for (int i = 0; i < rank; i ++) {
int temp = matr[i][columnMin];
matr[i][columnMin] = matr[i][columnMax];
matr[i][columnMax] = temp;
}
// вывод результата
for (int i = 0; i < rank; i ++) {
for (int j = 0; j < rank; j ++) {
cout << "\t" << matr[i][j];
}
cout << endl;
}
return 0;
}