KedrikFeeD

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

Jun 4th, 2020
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.60 KB | None | 0 0
  1. Program zd2;
  2. Var
  3.   i,j,k,n,min:integer;
  4.   a:array[1..100] of integer;
  5. begin {Дан одномерный массив. Найти в этом массиве наименьший элемент и его
  6. порядковый номер. Отсортировать элементы массива по убыванию методом
  7. «выбора».}
  8.  
  9.   Writeln('-'*30); //Простое оформление
  10.   Write('Введите размер массива: '); read(n); //Считываем размерность массива
  11.   Writeln('-'*30); //Просто оформление
  12.   Writeln('Стартовый массив: '); Write('a[Start]:  '); //Комментарии
  13.   For i:=1 to n do begin //Заполнение массива от a[1] до a[n]
  14.     a[i]:=random(-100,100); //заполнение случайными числами от -100 до 100
  15.     Write(a[i]:5); //вывод элементов
  16.   end;
  17.   Writeln; //переход на новую строку
  18.   j := n; //присвоение переменной j переменную n, чтобы вдальнейшем не потерять значение размерности
  19.  
  20.   while j > 1 do begin //Сортировка выбором
  21.         min := a[1]; //Присваиваем минимуму первый элемент
  22.         k := 1; //k - номер минимального элемента
  23.         for i := 2 to j do //пробегаем по массиву, чтобы найти минимальный элемент
  24.             if a[i] < min then begin //если элемент меньше минимума
  25.                 min := a[i]; //min присваевается значение элемента
  26.                 k := i //присваевается номер элемента
  27.             end;
  28.         a[k] := a[j]; //минимальному элементу присваевается значение последнего элемента
  29.         a[j] := min; //последнему элементу присваевается значение минимального
  30.         j := j - 1 //j уменьшается на 1, т.к. последний элемент уже на своем месте
  31.     end;
  32.  
  33.   Writeln('-'*30); //Простое оформление
  34.   Writeln('Сформированный массив: '); Write('a[Formed]: '); //комментарии
  35.   For i:=1 to n do //вывод сформированных элементов массива
  36.     Write(a[i]:5);
  37.   Writeln; //переход на новую строку
  38.   Writeln('-'*30); //простое оформление
  39. end.
Add Comment
Please, Sign In to add comment