Дан массив целых чисел n=12, заполните случайным образом с промежутком от -10 до 60, удалите все элементы в которых последняя цифра чётная, а само число делится на неё. вставьте число k перед и после всех элементов заканчивающихся на данную цифру.

drmkhva drmkhva    3   27.09.2019 18:00    1

Ответы
Аносип Аносип  08.10.2020 23:07

// PascalABC.NET 3.4.2, сборка 1785 от 06.09.2018

// Внимание! Если программа не работает, обновите версию!

function ОставитьЧисло(Число:integer):boolean;

begin

 var ПоследняяЦифра:=Abs(Число mod 10);

 Result:=ПоследняяЦифра.IsEven and (ПоследняяЦифра<>0) and

     (Число mod ПоследняяЦифра=0)

end;


begin

 var Массив:=ArrRandom(12,-10,60);

 Массив.Println; // исходный массив

 Массив:=Массив.Where(Элемент->ОставитьЧисло(Элемент)).ToArray;

 Массив.Println; // отфильтрованный массив

 var K:=ReadInteger('Введите число K:');

 var ИскомаяПоследняяЦифра:=

     ReadInteger('Какой цифрой заканчивается число?');

 var Список:=new List<integer>; // создали пустой список

 for var Индекс:=0 to Массив.High do

   if Abs(Массив[Индекс] mod 10) = ИскомаяПоследняяЦифра then

   begin

     Список.Add(K);

     Список.Add(Массив[Индекс]);

     Список.Add(K)

   end

   else

     Список.Add(Массив[Индекс]);

   Массив:=Список.ToArray;

   Массив.Println // результирующий массив

end.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика