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

matter2 matter2    3   18.09.2019 04:10    1

Ответы
ilya20063 ilya20063  10.08.2020 21:57
Var a: array[1..2*100] of integer; 
  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
ПОКАЗАТЬ ОТВЕТЫ
Ральфф Ральфф  10.08.2020 21:57
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!

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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика