Вопрос задан 19.01.2019 в 03:16. Предмет Информатика. Спрашивает Галактионов Илья.

Дана последовательность, состоящая из 10 чисел [7, 3, 10, 9, 8, 4, 1, 6, 2, 5]. Вы умеете за один

ход поменять в ней местами два любых соседних числа. За какое минимальное количество ходов вы сможете получить последовательность, в которой все числа идут по возрастанию?
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Рябков Максим.
Const
  a: array of integer = (7, 3, 10, 9, 8, 4, 1, 6, 2, 5);

begin
  var n := 0;
  var found := false;
  repeat
    found := false;
    for var i := low(a) to High(a) - 1 do
      if a[i] > a[i + 1] then begin
        swap(a[i], a[i + 1]);
        found := true;
        n := n + 1;
      end;
  until not found;
 
  writeln('Swaps = ', n);
end.

Ответ
Swaps = 30

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос