Помогите пожалуйста!!!! Решить задачу на вставку в массив. Привести несколько тестовых наборов данных для проверки работоспособности программы Дан целочисленный линейный массив. Вставить число a между всеми соседними элементами...

Помогите пожалуйста!!!! Решить задачу на вставку в массив. Привести несколько тестовых наборов данных для проверки работоспособности программы Дан целочисленный линейный массив. Вставить число a между всеми соседними элементами, имеющими одинаковый знак.
Гость
Ответ(ы) на вопрос:
Гость
//Не самое изящное решение //Pascal ABC.NET 3.1 Const  n=5;  Var ar:array[1..2*n] of integer;  j,a,k,i,t:integer; begin  write('A:'); readln(a);  writeln('Array:');  for i:=1 to n do  readln(ar[i]);  j:=1;  k:=n;  while j<>k do   begin    if ((ar[j]>=0) and (ar[j+1]>=0)) or ((ar[j]<=0) and (ar[j+1]<=0)) then    begin     t:=ar[k];     for i:=k-1 downto j do      ar[i+1]:=ar[i];     ar[j+1]:=a;     inc(k);     j:=j+2;     ar[k]:=t;    end    else  inc(j);   end;  writeln('Final array:');  for i:=1 to k do write(ar[i]:4); end. Пример ввода 1: 6 1 2 3 4 5 Пример вывода 1: 1 6 2 6 3 6 4 6 5 Пример ввода 2: 6 -1 2 -3 4 -5 Пример вывода 2: -1 2 -3 4 -5 Пример ввода 3: 6 1 2 -3 4 5 Пример вывода 3: 1 6 2 -3 4 6 5
Не нашли ответ?
Ответить на вопрос
Похожие вопросы