Посидел еще пару часов и вроде решил. Да, немного кака и слипы присутствуют, но это для красоты
#include <iostream>
#include "stdlib.h"
#include <windows.h>
using namespace std;
void InputSelf(int arr[][100], const int n)//функция заполнения массива с входными параметрами: массив и ограничение
{
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> arr[i][j];//потоковый ввод
}
}
}
void InputAuto(int arr[][100], const int n) {
for (int i = 0; i < n; ++i, cout << endl)
for (int j = 0; j < n; ++j) {
arr[i][j] = rand() % 10;
}
}
void Output(int arr[][100], const int n)//функция вывода массива в консоль
{
cout << "Наш массив: \n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << arr[i][j] << " ";//потоковый вывод
}
cout << endl;//переход на следующую строку
}
}
void Sort(int arr[][100], const int n)
{
int i, j, key;
for (i = 1; i < n * n; ++i) {
key = arr[i / n][i % n];
for (j = i - 1; j >= 0; --j) {
if (key > arr[j / n][j % n])
arr[(j + 1) / n][(j + 1) % n] = arr[j / n][j % n];
else break;
}
arr[(j + 1) / n][(j + 1) % n] = key;
}
cout << "Упорядоченная матрица" << endl;
for (i = 0; i < n; ++i, cout << endl)
for (j = 0; j < n; ++j)
cout << arr[i][j] << ' ';
}
int main()
{
int arr[100][100], n = 0;//объявление массива и его границы
while(true)
{
cout << "Выберите границу матрицы из числа представленных (2, 4 , 6 или 8): ";;
cin >> n;
if(n % 2 == 1 || n > 8 || n < 2)
{
cout << "Неверно выбрана граница, повторите ввод!\n";
cin.clear();
while (cin.get() != '\n');
Sleep(300);
cout << ".";
Sleep(300);
cout << ".";
Sleep(300);
cout << ".";
Sleep(500);
}
else break;
}
int res = 0;
while(true) {
cout << "Выберите как заполнить матрицу: " << endl;
cout << "1 - Самостоятельно ;" << endl;
cout << "2 - Автоматически" << endl;
cin >> res;
if(res > 2 || res < 1)
{
cout << "Нужно выбрать число, 1 или 2!\n";
cin.clear();
while (cin.get() != '\n');
Sleep(300);
cout << ".";
Sleep(300);
cout << ".";
Sleep(300);
cout << ".";
Sleep(500);
}
else break;
}
if (res == 1) {
InputSelf(arr, n);//инициализация массива
Output(arr, n);//вывод массива
Sort(arr, n);//
}
else {
InputAuto(arr, n);//инициализация массива
Output(arr, n);//вывод массива
Sort(arr, n);//
}
}