Напишите пожалуйста задачу на Pascal по нахождению минимального и максимального числа в массиве
Ответы
Ответ:
program task1;
const n = 9;
var
b:array[0..n] of integer;
a:array[0..n] of integer;
min,max, temp:integer;
i,imin,imax, ii, ii2, k, j:byte;
begin
randomize;
//формируем массив
for i:= 0 to n do
a[i]:=random(100);
writeln('Исходный массив: ',a);
writeln;
//ищем минимальный элемент и выводим его
min:=a[0];
imin:=0;
for i:=1 to n do
If a[i]<min then
begin
min:=a[i];
imin:=i;
end;
writeln('Минимальный элемент массива:',min);
writeln;
//ищем максимальный элемент и выводим его
max:=a[0];
imax:=0;
for i:=1 to n do
if max<a[i] then
begin
max:=a[i];
imax:=i;
end;
writeln('Максимальный элемент массива:',max);
//удаляем элементы левее
if imin<imax then
ii:=imin
else
ii:=imax;
if ii <> 0 then
for i:=0 to ii-1 do
a[i]:=0;
writeln;
//переносим значения между минимальным и максимальным масивом в другой массив
if imin < imax then
begin
for i:=imin+1 to imax-1 do
b[i]:=a[i];
end
else
begin
for i:=imax+1 to imin-1 do
b[i]:=a[i];
end;
//преобразуем массив
if imin>imax then
ii2:=imin
else
begin
ii2:=imax;
temp:=a[ii2];
k:=ii+1;
end;
for i:=ii2+1 to n do
begin
a[k]:=a[i];
inc(k);
end;
a[k]:=temp;
j:=k+1;
for i:=0 to n do
if b[i] <> 0 then
begin
a[j]:=b[i];
inc(j);
end;
writeln('Преобразованный массив ', a);
end.