Регистрация
Войти
Стать экспертом Правила
Информатика

PascalABC.NET(версия 3.3)Нужно изменить сортировку с обменной(на скрин.2)на сортировку вставками.Можете изменить мою или сделать свою.Спасибо.

ОТВЕТЫ



procedure SortInsert(a:array of integer);
// сортировка простыми вставками по убыванию
begin
  for var i:=1 to a.Length-1 do
    if a[i-1]<a[i] then begin
      var (t,j):=(a[i],i-1);
        while (j>=0) and (a[j]<t) do begin
          a[j+1]:=a[j]; j-=1
        end;
      a[j+1]:=t
      end
end;

begin
  var (m,n):=ReadInteger2('Количество строк и столбцов в массиве:');
  Writeln('*** Исходный массив ***');
  var a:=MatrRandom(m,n,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  // приступаем к сортировке четных строк (строк с нечетными индексами)
  var row:=1;
  while row<=m-1 do begin
    var v:=a.Row(row);
    SortInsert(v);
    a.SetRow(row,v);
    row+=2
  end;
  Writeln('*** Сортированный массив ***'); a.Println(4) // вывод
end.


Количество строк и столбцов в массиве: 5 9
*** Исходный массив ***
 -13 -53  35  84  72  44  76 -78 -93
 -86 -82  90 -35 -16  55 -99 -24 -63
  64 -29 -34  51  89   4  51  37  80
   7  19  81  41  34 -49  64   1 -59
  51 -80  71 -13  19   9 -90   7   6
------------------------------------
*** Сортированный массив ***
 -13 -53  35  84  72  44  76 -78 -93
  90  55 -16 -24 -35 -63 -82 -86 -99
  64 -29 -34  51  89   4  51  37  80
  81  64  41  34  19   7   1 -49 -59
  51 -80  71 -13  19   9 -90   7   6
  1. но и показывать учителю программу на непроходимых словах тоже глупость,очевидно же что кто делал другой
525
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам