Домашнее задание по программированию на языке Pascal Подробно написать решение задачи: В линейном массиве найти минимальные и максимальные числа. Удалить из массива числа кратные 3 и находящиеся между минимальными и максимальными элементами
arr: массив чисел;n: количество элементов массива;min, max: минимальное и максимальное числа в массиве;minIndex, maxIndex: индексы минимального и максимального чисел;i, j: переменные для циклов.
Ввести размер массива n и заполнить массив arr значениями.
Найти минимальное и максимальное число в массиве и их индексы:
Присвоить min и max значения первого элемента массива arr;Произвести обход массива и для каждого элемента: Если элемент меньше min, присвоить min значение элемента и minIndex значение индекса элемента;Если элемент больше max, присвоить max значение элемента и maxIndex значение индекса элемента.
Удалить из массива числа кратные 3 и находящиеся между минимальным и максимальным числами:
Для каждого элемента от минимального до максимального индекса: Если элемент кратен 3, удалить элемент из массива.
Вывести измененный массив на экран.
Ниже представлен код программы на Pascal:
program MinMaxDeletion; var arr: array of Integer; n, min, max, minIndex, maxIndex, i, j: Integer; begin Write('Enter the size of the array: '); ReadLn(n); SetLength(arr, n); WriteLn('Enter the elements of the array:'); for i := 0 to n-1 do begin Read(arr[i]); end; min := arr[0]; max := arr[0]; minIndex := 0; maxIndex := 0; for i := 1 to n-1 do begin if arr[i] < min then begin min := arr[i]; minIndex := i; end; if arr[i] > max then begin max := arr[i]; maxIndex := i; end; end; for i := minIndex + 1 to maxIndex - 1 do begin if arr[i] mod 3 = 0 then begin for j := i to n-2 do begin arr[j] := arr[j+1]; end; n := n - 1; SetLength(arr, n); i := i - 1; end; end; WriteLn('Modified array:'); for i := 0 to n-1 do begin Write(arr[i], ' '); end; end.
Этот код запрашивает у пользователя размер массива и его элементы, находит минимальное и максимальное число, удаляет числа кратные 3 между ними и выводит измененный массив.
Программа будет иметь следующий алгоритм:
Объявить переменные:
arr: массив чисел;n: количество элементов массива;min, max: минимальное и максимальное числа в массиве;minIndex, maxIndex: индексы минимального и максимального чисел;i, j: переменные для циклов.Ввести размер массива n и заполнить массив arr значениями.
Найти минимальное и максимальное число в массиве и их индексы:
Присвоить min и max значения первого элемента массива arr;Произвести обход массива и для каждого элемента:Если элемент меньше min, присвоить min значение элемента и minIndex значение индекса элемента;Если элемент больше max, присвоить max значение элемента и maxIndex значение индекса элемента.
Удалить из массива числа кратные 3 и находящиеся между минимальным и максимальным числами:
Для каждого элемента от минимального до максимального индекса:Если элемент кратен 3, удалить элемент из массива.
Вывести измененный массив на экран.
Ниже представлен код программы на Pascal:
program MinMaxDeletion;var
arr: array of Integer;
n, min, max, minIndex, maxIndex, i, j: Integer;
begin
Write('Enter the size of the array: ');
ReadLn(n);
SetLength(arr, n);
WriteLn('Enter the elements of the array:');
for i := 0 to n-1 do
begin
Read(arr[i]);
end;
min := arr[0];
max := arr[0];
minIndex := 0;
maxIndex := 0;
for i := 1 to n-1 do
begin
if arr[i] < min then
begin
min := arr[i];
minIndex := i;
end;
if arr[i] > max then
begin
max := arr[i];
maxIndex := i;
end;
end;
for i := minIndex + 1 to maxIndex - 1 do
begin
if arr[i] mod 3 = 0 then
begin
for j := i to n-2 do
begin
arr[j] := arr[j+1];
end;
n := n - 1;
SetLength(arr, n);
i := i - 1;
end;
end;
WriteLn('Modified array:');
for i := 0 to n-1 do
begin
Write(arr[i], ' ');
end;
end.
Этот код запрашивает у пользователя размер массива и его элементы, находит минимальное и максимальное число, удаляет числа кратные 3 между ними и выводит измененный массив.