Найти минимальный элемент массива Х[K], сменить у него знак и переместить в конец массива - Turbo Pascal
Формулировка задачи:
Найти минимальный элемент массива Х[K], сменить у него знак и
переместить в конец массива.
Помогите пожалуйста с масивами этими) я в них ничего не понимаю.
Напишите программу. Буду очень признателен вам)
Решение задачи: «Найти минимальный элемент массива Х[K], сменить у него знак и переместить в конец массива»
textual
Листинг программы
var x:array[1..100] of integer;
n,i,imn,a:integer;
begin
randomize;
repeat
write('Размер массива X от 2 до 100 n=');
readln(n);
until n in [2..100];
writeln('Массив X');
imn:=1;
for i:=1 to n do
begin
x[i]:=-10+random(21);
write(x[i]:4);
if i mod 20=0 then writeln;
if x[i]<x[imn] then imn:=i;
end;
writeln;
writeln('Минимальный элемет=',x[imn],' его индекс=',imn);
a:=-x[imn];
if imn<n then
begin
for i:=imn to n-1 do
x[i]:=x[i+1];
x[n]:=a;
end;
writeln('Перестановки минимального с обратным знаком в конец массива');
for i:=1 to n do
begin
write(x[i]:4);
if i mod 20=0 then writeln;
end;
end.
Объяснение кода листинга программы
- Создается переменная
xтипаarray[1..100] of integer. - Задается начальное значение для переменной
nравное 2. - Выполняется цикл
repeat, который продолжается до тех пор, покаnне будет варьироваться от 2 до 100. - Внутри цикла выводится сообщение о размере массива
Xи его содержимом. - Задается переменная
imnравной 1. - Запускается цикл
for, который выполняется от 1 доn. - Внутри цикла вычисляется значение
x[i]как-10 + random(21). - Выводится значение
x[i]с префиксом4. - Если
iделится на 20, то выводится символ новой строки. - Если
x[i]меньшеx[imn], тоimnобновляется значениемi. - После завершения цикла
for, выводится сообщение о минимальном элементе и его индексе. - Вычисляется значение
aкак-x[imn]. - Если
imnменьшеn, то запускается вложенный циклfor, который перемещает все элементы массиваxсimn+1доn-1в конец массива. - Значение
x[n]обновляется какa. - Выводится сообщение о перестановке минимального элемента с обратным знаком в конец массива.
- Для каждого элемента массива
xот 1 доnвыводится его значение с префиксом4. - Если
iделится на 20, то выводится символ новой строки.