Другие языки программирования и технологии

практическое задание по информатике .

Замените в массиве из N случайных целых чисел, каждое из которых лежит в пределах от 1 до 20,все четные элементы нулями и выведите полученный массив на экран.
Виктор _ _ _
Виктор _ _ _
187
#include <iostream>
#include <random>
#include <iomanip>
using namespace std;
short randomize(short = 1, short = 20);
short* create(size_t);
void fill(short*, size_t);
void print(short*, size_t, streamsize = 3);
void replace_even(short*, size_t, short = 0);
int main() {
cout << " N: ";
size_t n;
cin >> n;
short* arr = nullptr;
if (arr = create(n)) {
fill(arr, n);
print(arr, n);
replace_even(arr, n);
print(arr, n);
delete[] arr;
arr = nullptr;
}
cin.sync();
cin.get();
}
short randomize(short a, short b) {
if (a > b) swap(a, b);
uniform_int_distribution<short> rand(a, b);
random_device rnd;
return rand(rnd);
}
short* create(size_t size) {
return new(nothrow) short[size];
}
void fill(short* v, size_t s) {
if (v) for (auto p = v; p != v + s; ++p) *p = randomize();
}
void print(short* v, size_t s, streamsize w) {
if (v) for (auto p = v; p != v + s; ++p) cout << setw(w) << *p;
cout << endl;
}
void replace_even(short* v, size_t s, short src) {
if (v) for (auto p = v; p != v + s; ++p) if (~*p & 1) *p = src;
}
Рома Маxмудов
Рома Маxмудов
56 721
Лучший ответ
Виталик Некрасов Веселуха кидала
На языке D:
а на Паскале надо? пиши
Алексей Мерлин
Алексей Мерлин
95 951
Макаро Нчик Не вздумай платить "Зотикову", который тебе ответил, будет у тебя деньги выпрашивать за решения– кидает тут всех тупо на бабки! Моего друга кинул на 320 руб – денег не вернул!!!
Program Zadanie;
const
n = 10;
type
TMas1 = array [1..n] of integer;
var
m, i, c: integer;
x: TMas1;
begin
m:=0;
write('Массив - ');
for i:= 1 to n do
begin
m:=random(20);
x[i]:=m;
write(m, ' ');
end;
writeln;

write('Массив изм. - ');
for c:=1 to n do
begin
begin
if x[c] mod 2 = 0 then
x[c]:=0;
end;
write(x[c], ' ');
end;
end.