исправьте мою программу так, чтобы работало по условию задачи(делать в 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.

denihaev30 denihaev30    3   15.02.2021 19:21    0

Ответы
66ХОХ66 66ХОХ66  17.03.2021 19:25

// 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

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика