Дан целочисленный массив из n элементов. Элементы массива могут принимать целые положительные значения от 1 до 10 000 включительно (такие числа будет вводить пользователь, это проверять не нужно). Напишите программу, которая находит разность максимального из чётных элементов массива, оканчивающихся на 2 и минимального из нечётных элементов массива, оканчивающихся на 5, затем уменьшает все элементы массива, которые больше этой разности, на величину этой разности, и выводит изменённый массив в обратном порядке в одну строку.
34, 22, 17, 42, 25, 10, 15, 45
программа должна получить массив
7, 22, 17, 15, 25, 10, 15, 18
и вывести:
18, 15, 10, 25, 15, 17, 22, 7

meriko2 meriko2    1   20.04.2020 11:59    0

Ответы
faiarina2016 faiarina2016  13.10.2020 12:35

const N = 8;

var i,min,max: integer;

var a: array [1..N] of integer;

begin

write('Введите массив: ');

min:=0;

max:=0;

for i:=1 to N do  

 begin

 readln(a[i]);

 if (a[i] mod 2 = 0) and (a[i] mod 10 = 2) then

   begin

   if (max=0) then max:=a[i]

   else if (a[i]>max) then  max:=a[i];

   end;

 if (a[i] mod 2 <> 0) and (a[i] mod 10 = 5) then

   begin

   if (min=0) then min:=a[i]

   else if (a[i]<min) then  min:=a[i];

   end;  

 end;

for i:=N downto 1 do  

 begin

 if (a[i]>(max-min)) then a[i]:=a[i]-(max-min);

 write(a[i],' ');

 end;

end.

ПОКАЗАТЬ ОТВЕТЫ
niznaika8888888888 niznaika8888888888  13.10.2020 12:35

// PascalABC.NET

begin

   var n := ReadInteger;

   var a := ReadArrInteger(n);

   var d :=

       a.Where(p -> p.IsEven and (p mod 10 = 2)).Max -

       a.Where(p -> p.IsOdd and (p mod 10 = 5)).Min;

   a.Transform(p -> p > d ? p - d : p);

   a.Reverse.Print

end.


Дан целочисленный массив из n элементов. Элементы массива могут принимать целые положительные значен
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика