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

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

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


Информатика (12 баллов) | 74 просмотров
0

Куда именно вставить это число k? В отфильтрованный массив? В старый, как это все происходит? Понаписывают условий, голову сломаешь...

0

В отфильтрованный массив

Дан 1 ответ
0 голосов

// 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; // создали пустой список

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

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

   begin

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

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

     Список.Add(K)

   end

   else

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

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

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

end.

(150k баллов)
0

Очень глаза режет русские переменные, и заголовки функций, это разве удобно? Постоянно менять раскладку, единственное удобство это то, что можно код разобрать)

0

Вот для того и русские имена, чтобы разобрать алгоритм. А писать, конечно, очень неудобно.

0

Для себя, конечно, я так никогда не пишу)))