Информатика, вопрос задал Аноним , 8 лет назад

10 баллов. Нужно было написать код программы, которая продемонстрирует работу сортировки вставками. (Т.е. прочитать массив и затем выводить его после каждой вставки). Написала, вроде - бы хорошо работает. Но вот почему - то выводит одну и ту же строку по два раза...
type
array_type = array [1..1000] of int64;

procedure InsertSort(var a: array_type; n: int64);
var
  i, j, l, s: integer;
begin
  for i := 2 to n do
  begin
    l := a[i];
    j := i - 1;
    while (j >= 1) and (a[j] > l) do
    begin
      a[j + 1] := a[j];
      j := j - 1;
    end;
    a[j + 1] := l;
    for s := 1 to n do write(a[s], ' ');
    writeln();
  end;
end;

var
  a: array_type;
  i, n: int64;

begin
  readln(n);
  for i := 1 to n do read(a[i]);
  InsertSort(a, n);
  for i := 1 to n do write(a[i], ' ');
end.

На этот вопрос еще никто не ответил. Напишите свой ответ или воспользуйтесь поиском:

Новые вопросы