Advertisement
KedrikFeeD

Замещение Т8.Зд4

Jun 9th, 2020
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.38 KB | None | 0 0
  1. Program zd4;
  2. Var
  3.   i,j,n,t:integer;
  4.   a:array[1..100] of integer;
  5. Begin {Найти, понять, применить метод сортировки одномерного массива, не применяемый
  6. в заданиях 1,2,3.}
  7.   Writeln('-'*30); //оформление
  8.   Writeln('Массив будет отсортирован "Гномьей" сортировкой:'); //Комментарий
  9.   Write('Введите размер массива: '); readln(n); //Ввод размера массива
  10.   Writeln('-'*30); //оформление
  11.   Write('Исходный массив:        '); //Оформление
  12.   for i:=1 to n do begin //заполнение массива случайными числами
  13.     a[i]:=random(-100,100); //случайные числа от -100 до 100
  14.     write(a[i]:5); //вывод элементов массива
  15.   end;
  16.    
  17.    i := 2; //присвоение i значения 2
  18.    j := 3; //присвоение присвоение j значения 3
  19. while i <= n do //пока i меньше либо равно n
  20.  begin
  21.   if a[i-1] <= a[i] then //рассматривает текущий и предыдущий элемент, если предыдущий элемент
  22.    begin                 //меньше либо равен текущему, то это нас устраивает, и мы двигаемся дальше
  23.     i := j;
  24.     j := j + 1
  25.    end
  26.   else  //если же нет, то элементы следует поменять местами
  27.    begin
  28.     t := a[i-1];
  29.     a[i-1] := a[i];
  30.     a[i] := t;
  31.     i := i - 1; //возвращаемся на 1 элемент назад, чтобы вдальнейшем проверить не является ли он меньше того, что стоит перед ним
  32.   if i = 1 then //если же i равно 1, то мы дошли до конца массива, и стоит двигаться дальше
  33.    begin
  34.     i := j;
  35.     j := j + 1
  36.    end
  37.   end
  38.  end;
  39.  
  40.  Writeln;
  41.  Writeln('-'*30); //Оформление
  42.  write('Отсортированный массив: '); //Комментарий
  43.  for i:=1 to n do  //Вывод уже отсортированных элементов массива
  44.    write(a[i]:5);
  45.  Writeln; //переход на новую строку
  46.  Writeln('-'*30); //оформление
  47. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement