Отсортировать массив из 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 считыва...
Похожие задачи
Не нашел нужную задачу?
Воспользуйся поиском
AI помощники
Выбери предмет
- Правоохранительные органы
- Пожарная безопасность
- Парикмахерское искусство
- Природообустройство и водопользование
- Почвоведение
- Приборостроение и оптотехника
- Промышленный маркетинг и менеджмент
- Производственный маркетинг и менеджмент
- Процессы и аппараты
- Программирование
- Право и юриспруденция
- Психология
- Политология
- Педагогика
- Трудовое право
- Теория государства и права (ТГП)
- Таможенное право
- Теория игр
- Текстильная промышленность
- Теория вероятностей
- Теоретическая механика
- Теория управления
- Технология продовольственных продуктов и товаров
- Технологические машины и оборудование
- Теплоэнергетика и теплотехника
- Туризм
- Товароведение
- Таможенное дело
- Торговое дело
- Теория машин и механизмов
- Транспортные средства