исправьте мою программу так, чтобы работало по условию задачи(делать в pascal.net). Если не знаете как, то напишите свою (решать надо через динамический массив).
Задача: Напишите программу, которая находит максимальную и минимальный элементы переданного ей динамического массива(используйте изменяемые параметры).
Моя программа:
var
i,k,n,j:integer;
a:array of longint;
procedure maxmin(max,min:longint);
begin
k:=a.Length;
max:=a[0];
min:=a[0];
for i:=1 to k-1 do
begin
if max a[i] then min:=a[i];
end;
end;
begin
read(n);
setLength(a,n);
for i:=0 to High(a) do begin
a[i]:=random(8)+1;
maxmin(a[i]);
end;
writeln(max,' ',min);
end.
// PascalABC.NET 3.7.2
// Да, именно так выглядит pascal.net.
function MinMax<T>(source: Array of T): (T, T);
where T: System.IComparable<T>;
begin
var max := source.First();
var min := source.First();
foreach var item:T in source do begin
if item.CompareTo(max) > 0 then max := item
else if item.CompareTo(min) < 0 then min := item
end;
Result := (min, max);
end;
begin
var src := ArrRandom();
src.PrintLn;
var (min, max) := MinMax(src);
PrintLn(string.Format('Min, max values of source array is {0}, {1}', min, max));
end.
Объяснение:
постфикс .net указывает на то, что язык имеет поддержку платформы MS.NET. Решение выполнено средствами платформы MS.NET и среды PascalABC.NET 3.7.2