C/C++

Функции и массивы в С++

2.1 Используя функции, сформировать с помощью ДСЧ одномерный массив и
вывести его на печать.
2.2 Выполнить обработку одномерного массива - удалить из массива все элементы с
четными номерами используя функции, результат вывести на печать.

Заранее спасибо за код!
#include <iostream>
#include <vector>
#include <random>
#include <iomanip>
using namespace std;
void fill_random(unsigned* box, const size_t length, unsigned left, unsigned right) {
if (left > right) swap(left, right);
uniform_int_distribution<unsigned> uid(left, right);
mt19937 gen{ random_device()() };
for (size_t i = 0; i < length; ++i) box[i] = uid(gen);
}
void show(const char* msg, unsigned* box, const size_t length, const streamsize width) {
cout << msg;
for (size_t i = 0; i < length; ++i) cout << setw(width) << box[i];
puts("");
}
void remove_element(unsigned* box, size_t& length, unsigned* pos) {
if (box && length && pos) {
auto last = box + length - 1U;
if (pos != last) {
while (pos != last) {
*pos = *(pos + 1);
++pos;
}
}
--length;
}
}
int main() {
const size_t buffer = 100;
unsigned box[buffer];
cout << "n: ";
size_t n;
cin >> n;
if (n > buffer) n = buffer;
cout << "m, k: ";
unsigned m, k;
cin >> m >> k;
fill_random(box, n, m, k);
show("before:", box, n, 4);
auto end = box + n;
for (auto beg = box + 1; beg < end; ++beg) {
remove_element(box, n, beg);
--end;
}
show(" after:", box, n, 4);
}
Александр Василенко
Александр Василенко
70 031
Лучший ответ