Условие:
program SortWithFixedElement;
\nconst
N = 100; { Размер массива }
\ntype
TIntArray = array[1..N] of Integer;
\nvar
A: TIntArray; { Основной массив }
K, i, j, temp: Integer;
\nprocedure InputArray(var Arr: TIntArray);
{ Процедура ввода массива одной строкой }\nvar i: Integer;\nbegin
for i := 1 to N do
Read(Arr[i]);\nend;
\nprocedure SortExceptK(var Arr: TIntArray; FixedIndex: Integer);
{ Сортировка массива по возрастанию, исключая элемент с индексом FixedIndex }\nvar i, j: Integer;\nbegin
for i := 1 to N - 1 do
for j := i + 1 to N do
begin
{ Пропускаем, если один из сравниваемых — элемент с индексом K }
if (i = FixedIndex) or (j = FixedIndex) then
continue;
{ Сравниваем и меняем местами, если элементы не отсортированы }
if Arr[i] > Arr[j] then
begin
temp := Arr[i];
Arr[i] := Arr[j];
Arr[j] := temp;
end;
end;\nend;
\nprocedure OutputArray(Arr: TIntArray);
{ Процедура вывода массива в одну строку }\nvar i: Integer;\nbegin
for i := 1 to N do
Write(Arr[i], ' ');
Writeln;\nend;
\nbegin
{ Ввод массива }
Writeln('Введите 100 целых чисел в одну строку:');
InputArray(A);
{ Ввод номера элемента, который нельзя менять }\nWriteln('Введите номер элемента K (от 1 до 100), который остается на месте:');
Readln(K);
{ Проверка корректности K }
if (K < 1) or (K > N) then
begin
Writeln('Ошибка: K должно быть от 1 до 100.');
Exit;
end;
{ Сортировка массива с сохранением элемента K на месте }
SortExceptK(A, K);
{ Вывод результата }
Writeln('Результат:');
OutputArray(A);\nend.
![program SortWithFixedElement; N = 100; { Размер массива } TIntArray = array[1..N] of Integer; A: TIntArray; { Основной массив } K, i, j, temp: Integer; InputArray(var Arr: TIntArray); { Процедура ввода массива одной строкой } i: Integer; for i := 1 to N](/public/images/library/external/library-detail-hero-book.png)
