Pascal abc дан одномерный массив, элементы которого - целые числа. также дано целое число xx. вставьте в заданный массив элемент xx перед всеми четными элементами. формат входных данных в первой строке входного файла заданы два целых числа: nn и xx (−1000≤x≤1000)(−1000≤x≤1000), где nn - количество элементов в массиве (1≤n≤100)(1≤n≤100). в следующей строке находится nn чисел, по абсолютному значению не превосходящих 1000. формат выходных данных в выходной файл выведите полученный массив. при выводе разделяйте элементы массива пробелом. примеры: вход 4 6 9 8 7 5 выход 9 6 8 7 5 вход 6 -6 11 1 13 -6 -6 3 выход 11 1 13 -6 -6 -6 -6 3
n,x,i,j,k : integer;
begin
readln(n,x);
for i:=1 to n do read(a[i]);
k:=0;
for i:=n downto 1 do
if a[i] mod 2=0 then
begin
k:=k+1;
for j:=n+k downto i+1 do a[j]:=a[j-1];
a[i]:=x;
end;
for i:=1 to n+k do write(a[i],' ');
end.
Пример:
6 -6
11 1 13 -6 -6 3
11 1 13 -6 -6 -6 -6 3
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
var n:=ReadInteger('XX=');
var L:=new List<integer>;
foreach var t in a do begin
if t.IsEven then L.Add(n);
L.Add(t)
end;
a:=L.ToArray; a.Println;
end.
Пример
n= 13
-27 41 -19 -34 -18 4 0 -10 -6 46 -47 47 -49
XX= 77
-27 41 -19 77 -34 77 -18 77 4 77 0 77 -10 77 -6 77 46 -47 47 -49