Дан целочисленный массив из 200 элементов, в котором записаны значения последовательных...

0 голосов
125 просмотров

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


Информатика (79 баллов) | 125 просмотров
Дан 1 ответ
0 голосов

{PascalABC}

Program Begenjov1997;

const

 n = 200; {Количество элементов массива}

 m = 10000; {Максимально возможное значение элемента}

var

 a:array[1..n] of integer;

 i, chet,nech: integer;

 s:string;

 

begin

 s:='**** -=Alphaeus=- ****';

 for i:=1 to 22 do begin write(s[i]); sleep(60) end;

{заполняем массив случайными числами}

 writeln; randomize;

 for i:=1 to n do a[i]:=random(m+1);

{Ищем максимальный чётный и максимальный нечётный элементы}

 chet:=a[1];nech:=a[1];

 for i:=2 to n do

   begin

     if (a[i]>chet) and (a[i] mod 2 = 0) then chet:=a[i];

     if (a[i]>nech) and (a[i] mod 2 <> 0) then nech:=a[i];

   end;

{сравниваем чёт и нечет, заменяем нужное на нули и выводим}

 writeln;

 for i:=1 to n do

   begin

     if (chet>nech) and (a[i] mod 2 = 0) then a[i]:=0;

     if (nech>chet) and (a[i] mod 2 <> 0) then a[i]:=0;

     writeln(a[i]:4);

   end;  

end.

(52.6k баллов)