М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ganjaman007
ganjaman007
04.11.2022 11:41 •  Информатика

2. ангар джедаев и c3-po ограничение времени 1 секунда ограничение памяти 64mb ввод стандартный ввод или input.txt вывод стандартный вывод или output.txt в ангаре джедаев у каждого истребителя есть свой номер и свое место. первоначально они все стоят в порядке возрастания номеров (1, 2, 3, …). после очередного боя с империей истребители возвращаются в разном порядке и состоянии, поэтому иногда занимают не свои места. c3-po дали расположить их в первоначальном порядке. есть одна сложность – корабли стоят на своеобразном конвейере и за один раз можно передвинуть один любой истребитель на последнее место. c3-po составить программу, которая определяет наименьшее число перестановок, необходимое для того, чтобы переместить все истребители на свои места. формат ввода на первой строке входного файла содержится натуральное число n - количество кораблей (1 ≤ n ≤ 32). во второй строке приводятся n чисел, разделённых пробелами, - порядок прибытия кораблей после боя. формат вывода вывести наименьшее число перестановок, необходимое для расстановки кораблей по своим местам.

👇
Открыть все ответы
Ответ:
miao2
miao2
04.11.2022

const low=1; high=10;

procedure qSort(var ar:array[low..high]of real; low,high:integer);
var i,j:integer;
m,wsp:real;
begin
i:=low;
j:=high;
m:=ar[(i+j) div 2];
repeat
while(ar[i]<m) do i:=i+1;
while(ar[j]>m) do j:=j-1;
if(i<=j) then begin
wsp:=ar[i];
ar[i]:=ar[j];
ar[j]:=wsp;
i:=i+1;
j:=j-1;
end;
until (i > j);
if(low<j) then qSort(ar,low,j);
if(i<high) then qSort(ar,i,high);
end;

var ar:array[low..high]of real;
i:integer;
begin
randomize;

for i:=low to high do ar[i]:=random(101)-50;
qSort(ar,low,high);
writeln;
for i:=low to high do write(ar[i],' ');
end.

4,4(49 оценок)
Ответ:
aruzhan152
aruzhan152
04.11.2022

var 

  a: array [1..10] of integer;  //Массив из 10 целочисленных элементов

  i: integer;

begin

  write('Исходный массив: ');

  for i:= 1 to 10 do  {Заполняем массив случайными числами от 0 до 4 и печатаем его}

  begin

    a[i]:= random(4);

    write(a[i], '  ');

  end;

  writeln;  //Перевод на новую строку

  write('Одинаковые соседние элементы:  ');

  for i:= 1 to 9 do  //Печатаем одинаковые соседние элементы

    if a[i] = a[i + 1] then write('a[', i, '] = a[', i + 1, '],  ');

  writeln;  {Перевод на новую строку, чтобы при следующем запуске программы информация выводилась с новой строки}

end. 

4,4(4 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ