• Предмет: Информатика
  • Автор: berezovskmood
  • Вопрос задан 2 года назад

Помогите пожалуйста с заданием на PASCAL, я не понимаю как реализовать это

Приложения:

BobbyFresnel: Только тоже с var a :=
BobbyFresnel: Ну или ReadArrReal для вещественных или ReadArrString для строк.
BobbyFresnel: Программе пофигу, остальная часть не меняется.
berezovskmood: Все же хотелось бы чет по проще.
berezovskmood: Ладно, спасибо
BobbyFresnel: Пожалуйста. А хотеть - оно не вредно.
berezovskmood: Да уж)
BobbyFresnel: Ну т.е. ты же не будешь пытаться меня убедить, что программа, которая в одной строчке подстраивается под любые хотелки с данными - это сложно?
BobbyFresnel: Эть правильно. Именно так сейчас и пишутся современные программы. Чтобы при измении требований заказчика их можно было переориентировать в считанные минуты, а не месяцами переписывать. Такое время сейчас.
BobbyFresnel: А школа - она безнадежно отстала. И учителя, и учебные программы, и идеи министерств образования.

Ответы

Ответ дал: BobbyFresnel
0

===== PascalABC.NET =====

procedure SortShell<T>(a: array of T);

 where T: IComparable<T>;

// сортировка по Шеллу

begin

 var n := a.Length;

 var d := n div 2;

 while d > 0 do

 begin

   var k := True;

   while k do

   begin

     k := False;

     for var i := 0 to n - d - 1 do

       if a[i].CompareTo(a[i + d]) > 0 then begin

         Swap(a[i], a[i + d]);

         k := True

       end

   end;

   d := d div 2

 end

end;

begin

 var a := ArrRandom(10, -20, 20); a.Println;

 SortShell(a); a.Println

end.

Приложения:
Вас заинтересует