Числа m, n и k (3 ≤ k ≤ 10) вводятся с клавиатуры. Сгенерировать и вывести
на экран m целых случайных чисел с промежутка, указанного в пункте а, и n
действительных чисел (выводить на экран з указанной точностью) с промежутка, указаного в пункте б. При этом выведение на экран осуществлять по k чисел в рядке

#include <iostream>
#include <random>
#include <iomanip>
using namespace std;
unsigned integer(const char* msg) {
cout << msg;
unsigned value;
cin >> value;
return value;
}
class Random {
public:
Random() {
random_device device;
gen_32.seed(device());
gen_64.seed(device());
}
int next(const pair<int, int>& box) {
uniform_int_distribution<int> range(box.first, box.second);
return range(gen_32);
}
double next(const pair<double, double>& box) {
uniform_real_distribution<double> range(box.first, box.second);
return range(gen_64);
}
private:
mt19937 gen_32;
mt19937_64 gen_64;
};
int main() {
const auto m = integer("m: ");
const auto n = integer("n: ");
auto k = 0U;
do k = integer("k: "); while (k < 3 || k > 10);
puts("");
const auto ibox = pair{ 77, 127 };
const auto rbox = pair{ -6., 10. };
const auto iout = [](int x) { cout << setw(5) << x << ' '; };
const auto rout = [](double x) { cout << setw(5) << x << ' '; };
Random rand;
for (auto i = 0U, j = 1U; i < m; ++i, ++j) {
iout(rand.next(ibox));
if (0 == j % k) puts("");
}
puts("");
cout << fixed << setprecision(1);
for (auto i = 0U, j = 1U; i < n; ++i, ++j) {
rout(rand.next(rbox));
if (0 == j % k) puts("");
}
system("pause > nul");
}
а ключи от квартиры где денги лежат, не нужны?