Вопрос задан 06.08.2023 в 10:32. Предмет Информатика. Спрашивает Блохин Семен.

В одномерном массиве поменять местами максимальные и минимальные элементы (в паскале)

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сазонова Валерия.
Program pr;
var a:array [1..10] of integer
i, imax, imin, mx, mn, n:integer;
begin
for i := 1 to 10 do
a[i] := random(50);
mx := a[1];
for i := 2 to 10 do
begin
if a[i] > mx then
begin
mx := a[i];
imax := i
end;
end;
mn := a[0];
for i := 2 to 10 do
begin
if a[i] < mn then
begin
mn := a[i];
imin := i
end;
end;
a[imax] := mn;
a[imin] := mx
writeln(a);
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для того чтобы поменять местами максимальный и минимальный элементы в одномерном массиве на языке Паскаль, нужно выполнить следующие шаги:

  1. Найти индексы минимального и максимального элементов в массиве.
  2. Обменять значения максимального и минимального элементов, используя найденные индексы.

Вот пример кода на Паскале, который реализует данную задачу:

pascal
program SwapMinMax; const n = 10; // Размер массива type TArray = array[1..n] of Integer; var arr: TArray; i, minIndex, maxIndex, temp: Integer; // Функция для нахождения индекса минимального элемента function FindMinIndex(const arr: TArray): Integer; var i: Integer; begin Result := 1; for i := 2 to n do if arr[i] < arr[Result] then Result := i; end; // Функция для нахождения индекса максимального элемента function FindMaxIndex(const arr: TArray): Integer; var i: Integer; begin Result := 1; for i := 2 to n do if arr[i] > arr[Result] then Result := i; end; // Процедура для обмена местами элементов по их индексам procedure Swap(var a, b: Integer); var temp: Integer; begin temp := a; a := b; b := temp; end; begin // Заполняем массив случайными числами для примера Randomize; for i := 1 to n do arr[i] := Random(100); // случайное число от 0 до 99 // Находим индексы минимального и максимального элементов minIndex := FindMinIndex(arr); maxIndex := FindMaxIndex(arr); // Выводим исходный массив writeln('Исходный массив:'); for i := 1 to n do write(arr[i], ' '); writeln; // Меняем местами минимальный и максимальный элементы Swap(arr[minIndex], arr[maxIndex]); // Выводим измененный массив writeln('Массив после замены:'); for i := 1 to n do write(arr[i], ' '); writeln; end.

Обратите внимание, что в этом примере массив заполняется случайными числами для демонстрации. В вашей программе вы можете заполнить массив своими данными или считать их с клавиатуры.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос