В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
marjanazagurska
marjanazagurska
16.06.2022 06:55 •  Информатика

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

Показать ответ
Ответ:
Tokuz
Tokuz
03.10.2020 18:30
//Не самое изящное решение
//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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота