Дан целочисленный массив из 200 элементов, в котором записаны значения последовательных результатов измерений. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите на одном из языков программирования алгоритм, который выполняет выбраковку данных в массиве: если максимальный чётный элемент массива меньше максимального нечётного, все чётные элементы заменяются на нули, иначе все нечётные элементы заменяются на нули. Например, для исходного массива из восьми элементов:
7 1 3 2 14 5 9 6
программа должна вывести (по одному числу в строке) числа
0 0 0 2 14 0 0 6
Язык Паскаль

15 Сен 2019 в 14:42
1 863 +1
1
Ответы
1

program FilterArray;

var
arr: array[1..200] of integer;
i, max_even, max_odd: integer;

begin
// заполнение массива arr
for i := 1 to 200 do
arr[i] := random(10001); // случайное значение от 0 до 10000

max_even := -1;
max_odd := -1;

// поиск максимальных четного и нечетного элементов
for i := 1 to 200 do
begin
if (arr[i] mod 2 = 0) and (arr[i] > max_even) then
max_even := arr[i]
else if (arr[i] mod 2 = 1) and (arr[i] > max_odd) then
max_odd := arr[i];
end;

// фильтрация массива
if max_even < max_odd then
begin
for i := 1 to 200 do
begin
if arr[i] mod 2 = 0 then
arr[i] := 0;
end;
end
else
begin
for i := 1 to 200 do
begin
if arr[i] mod 2 = 1 then
arr[i] := 0;
end;
end;

// вывод отфильтрованного массива
for i := 1 to 200 do
writeln(arr[i]);

end.

19 Апр 2024 в 23:51
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир