#include <iostream>
#include <time.h>
#include <cstdlib>
#include <iomanip>
using namespace std;
//Создать массив целых чисел из диапазона [-5;10].
//Вставить в массив: 4 строку перед второй строкой.
int main()
{
setlocale(LC_ALL, "Russia");
int n, i, m, j, nomst, nom;
cout << "Сколько строк в массиве? - ";
cin >> n;
while (n < 4)
{
cout << "Количество строк массива не может быть < 4, повторите ввод: ";
cin >> n;
}
cout << "Сколько столбцов в массиве? - ";
cin >> m;
while (m < 1)
{
cout << "Количество столбцов массива не может быть < 1, повторите ввод: ";
cin >> m;
}
int** A = new int* [n + 1];
for (i = 0; i < n + 1; i++)
A[i] = new int[m];
cout << "Исходный массив\n";
srand(time(0));
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
A[i][j] = rand() % 16 - 5;
cout << setw(2) << A[i][j] << "\t";
}
cout << "\n";
}
cout << "Вставка в массив: 4 строка перед второй строкой:\n";
int* B = new int[m];
nomst = 3;
for (j = 0; j < m; j++)
B[j] = A[nomst][j];
nom = 0;
for (i = n; i > nom; i--)
for (j = 0; j < m; j++)
A[i][j] = A[i - 1][j];
for (j = 0; j < m; j++)
A[nom + 1][j] = B[j];
for (i = 0; i < n + 1; i++)
{
for (j = 0; j < m; j++)
{
cout << setw(2) << A[i][j] << "\t";
}
cout << "\n";
}
for (i = 0; i < n+1; i++)
delete[] A[i];
delete[] A;
return 0;
}