1. Главная
  2. Библиотека
  3. Программирование
  4. Отсортировать массив из 100 целых чисел по возрастанию,...
Решение задачи

Отсортировать массив из 100 целых чисел по возрастанию, не изменяя положения элемента с заданным индексом K.

  • Программирование

Условие:

Объясни, что решает данный код: program SortWithFixedElement;

const
N = 100; { Размер массива }

type
TIntArray = array[1..N] of Integer;

var
A: TIntArray; { Основной массив }
K, i, j, temp: Integer;

procedure InputArray(var Arr: TIntArray);
{ Процедура ввода массива одной строкой }
var i: Integer;
begin
for i := 1 to N do
Read(Arr[i]);
end;

procedure SortExceptK(var Arr: TIntArray; FixedIndex: Integer);
{ Сортировка массива по возрастанию, исключая элемент с индексом FixedIndex }
var i, j: Integer;
begin
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;
end;

procedure OutputArray(Arr: TIntArray);
{ Процедура вывода массива в одну строку }
var i: Integer;
begin
for i := 1 to N do
Write(Arr[i], ' ');
Writeln;
end;

begin
{ Ввод массива }
Writeln('Введите 100 целых чисел в одну строку:');
InputArray(A);

{ Ввод номера элемента, который нельзя менять }
Writeln('Введите номер элемента 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);
end.

Решение:

Программа сортирует массив из 100 целых чисел, оставляя на месте один элемент, индекс которого задаёт пользователь. Шаг 1. Объявление массива и переменных. Программа определяет константу N, равную 100, и тип массива, в котором хранятся 100 целых чисел. Переменные A (массив), K (индекс элемента, который нельзя перемещать) и остальные вспомогательные переменные объявлены для работы в процедуре сортировки. Шаг 2. Ввод массива. Процедура InputArray считыва...

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет