Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const m = 100;
- var mas : array[1..m] of integer;
- i, j, k, new, n : integer;
- begin
- write('введиte размер массива n = ');
- readln(n);
- writeln('введиte ',n,' элементов массива');
- for i := 1 to n do
- read(mas[i]);
- writeln;
- for j := 1 to n-1 do // нужно идти по всему массиву кроме последнего элемента, с которым все само образуется
- // в каждом проходе этого цикла мы будем иметь голову массива (от 1 до j-1) и хвост - все что осталось
- // задача одной итерации - положить самый большой элемент хвоста в конец головы
- begin
- new := mas[n]; // запоминаем последний элемент массива
- k := n; // и его индекс
- for i := n downto j do // идем по всему массиву с конца
- if mas[i]>new then // если нашли элемент, больший запомненного
- begin
- k := i; // запоминаем его
- new := mas[i]
- end;
- // по результатам работы предыдущего цикла в переменной new хранится значение максимума хвоста массива
- // меняем местами j-й элемент и new, то есть перемещаем самый большой элемент хвоста в его начало
- mas[k] := mas[j];
- mas[j] := new;
- end;
- for i := 1 to n do
- write(mas[i] : 4);
- writeln
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement