Наибольшим по модулю значением (из максимума и минимума) заменить последний элемент в массиве - PascalABC.NET
Формулировка задачи:
Ввести массив A(n). Найти максимум и минимум в массиве. Наибольшим по модулю
значением (из максимума и минимума) заменить последний элемент в массиве. Массив
вывести на печать. Подпрограммы: ввод массива, поиск максимального, поиск
минимального, замена, вывод массива
Я сделал прогу, но мне сказали сделать 2 подпрограммы. Я чет не понял как сделать. Помогите, пожалуйста!
Решение задачи: «Наибольшим по модулю значением (из максимума и минимума) заменить последний элемент в массиве»
textual
Листинг программы
program sem2;
type mas=array of real;
procedure vvod(var a:mas;var n:integer);
var i:integer;
begin
write('Введите число компонент массива n=');
readln(n);
setlength(a,n);
writeln('Введите элементы массива');
for i:=0 to n-1 do
begin
write('a[',i,']=');
readln(a[i]);
end;
end;
procedure vivod(a:mas;n:integer;s:string);
var i:integer;
begin
writeln(s);
for i:=0 to n-1 do
write(a[i]:0:2,' ');
writeln;
end;
procedure minmax(a:mas;n:integer;var min1,max1,x:real);
var i:integer;
begin
min1:=a[0];
max1:=a[0];
for i:=1 to n-1 do
begin
if a[i]<min1 then min1:=a[i];
if a[i]>max1 then max1:=a[i];
end;
writeln('Минимальный элемент=',min1);
writeln('Максимальный элемент=',max1);
if abs(max1)>abs(min1)then
begin
x:=max1 ;
writeln('Больше по модулю маесимальный');
end
else
begin
x:=min1;
writeln('Больше по модулю минимальный');
end;
end;
procedure zamena(var a:mas;n:integer;x:real);
begin
a[n-1]:=x;
end;
var a:mas;
n:integer;
min1,max1,x:real;
begin
vvod(a,n);
vivod(a,n,'Исходный массив');
minmax(a,n,min1,max1,x);
zamena(a,n,x);
vivod(a,n,'Измененный массив');
end.
Объяснение кода листинга программы
Список элементов кода:
- Объявление типа массива и процедур в программе
- Ввод данных в массив с помощью процедуры vvod
- Вывод исходного массива на экран с помощью процедуры vivod
- Поиск минимального и максимального элемента массива с помощью процедуры minmax
- Замена последнего элемента массива с помощью процедуры zamena
- Вывод измененного массива на экран с помощью процедуры vivod