Держи мой шаблон работы с матрицами, как раз пока только минимумы и максимумы
const handsfree = true;
var a: array[1..100, 1..100] of real; max, min: real; i, j, m, n: integer;
begin {ввод матрицы} if handsfree then begin n := random(20) + 2; m := random(20) + 2; end else begin write('n, m ='); readln(n, m); end;
writeln('Данные матрицы:'); for i := 1 to m do begin for j := 1 to n do if handsfree then begin a[i, j] := random(100) - 50; write(a[i, j]:4, ' ') end else read(a[i, j]); writeln; end;
{минимумы и максимумы} max := a[1, 1]; min := a[1, 1]; for i := 1 to m do for j := 1 to n do begin if max < a[i, j] then max := a[i, j]; if min > a[i, j] then min := a[i, j]; end; writeln('max = ', max); writeln('min = ', min); end.
procedure quicksort(var a:array of integer; Lo,Hi: integer);
procedure sort(l,r: integer); var i,j,x:integer; begin i:=l; j:=r; x:=a[random(r-l+1)+l]; repeat while a[i]>x do i:=i+1; while x>a[j] do j:=j-1; if i<=j then begin if a[i]<a[j] then swap(a[i],a[j]); i:=i+1; j:=j-1; end; until i>=j; if l<j then sort(l,j); if i<r then sort(i,r); end;
begin; randomize; sort(Lo,Hi) end;
begin readln(n); setlength(ar,n); n:=n-1; writeln('Array:'); for i:=0 to n do begin ar[i]:=random(10); write(ar[i]:4); end; quicksort(ar,0,n); writeln; writeln('Final array:'); for i:=0 to n do write(ar[i]:4); end.
Пример ввода: 5 Пример вывода: Array: 8 7 5 9 4 Final array: 9 8 7 5 4
Треугольник существует тогда и только тогда, когда сумма любых двух его сторон больше третьей стороны, и каждая из них больше нуля:
Объяснение: