Дан массив чисел из N элементов. Найти наименьший и поставить его первым (двумерный массив)
#include
#include
#include
using namespace std;
int main()
{
int **mass = new int* [5];
int min;
for (int i = 0; i < 5; i++)
{
mass[i] = new int [i + 1];
}
for (int i = 0; i < 5; i++) {
cout << "Введите числа" << "(" << i + 1 << ")" << ":";
for (int j = 0; j < i + 1; j++) {
cin >> mass[i][j];
}
}
{
mass[i] = rand()%99*0.1;
cout << mass[i] << " ";
}
cout << endl;
min = mass[0];
for( i = 1; i<5; i++)
{
for (int j = 0; j < i + 1; j++){
if(min > mass[i]) min = mass[i];
}
cout << "Min: " << min << endl;
}
cout<<" New array: "<<min<<" ";
for (int i = 0; i < 5; i++) {
delete [] mass[i];
system("pause");
return 0;

#include <iostream>
#include <iomanip>
#include <random>
#include <tuple>
#include <cstdlib>
#include <utility>
using namespace std;
int main() {
const uniform_int_distribution<> uid(1, 99);
mt19937 gen{ random_device()() };
cout << "n: ";
size_t n;
cin >> n;
int** matrix = new (nothrow) int* [n];
if (matrix != nullptr) {
for (auto i = 0U; i < n; ++i) {
matrix[i] = new (nothrow) int[n];
if (matrix[i] == nullptr) {
for (auto j = 0U; j < i; ++j) delete[] matrix[j];
delete[] matrix;
matrix = nullptr;
break;
}
}
for (auto i = 0U; i < n; ++i) for (auto j = 0U; j < n; ++j) matrix[i][j] = uid(gen);
for (auto i = 0U; i < n; ++i) {
for (auto j = 0U; j < n; ++j) cout << setw(4u) << matrix[i][j];
cout.put('\n');
}
cout.put('\n');
auto [min, a, b] = make_tuple(matrix[0U][0U], 0U, 0U);
for (auto i = 0U; i < n; ++i) {
for (auto j = 0U; j < n; ++j) {
if (matrix[i][j] < min) tie(min, a, b) = tie(matrix[i][j], i, j);
}
}
cout << "Min element = matrix[" << a << "][" << b << "]\n\n";
swap(matrix[0][0], matrix[a][b]);
for (auto i = 0U; i < n; ++i) {
for (auto j = 0U; j < n; ++j) cout << setw(4u) << matrix[i][j];
cout.put('\n');
}
cout.put('\n');
if (matrix != nullptr) {
for (auto i = 0U; i < n; ++i) delete[] matrix[i];
delete[] matrix;
matrix = nullptr;
}
}
else cout << "Error memory!\n";
system("pause");
}