Var A:array[1..1000,1..1000] of integer; M,N,Min,Max:integer; Begin Write('M(1..1000) = '); ReadLn(M); Write('N(1..1000) = '); ReadLn(N); For var i:= 1 to M do Begin For var j:= 1 to N do Begin A[i,j]:=random(1,M*N); Write(A[i,j],' ') End; WriteLn; End; Min:=A[M,N]; Max:=A[M,N]; For var i:= 1 to M do For var j:= 1 to N do Begin if Min>A[i,j] then Min:=A[i,j]; if Max<A[i,j] then Max:=A[i,j] End; WriteLn('Min(A) / Max(A) = ',Min/Max); End.
// PascalABC.NET 3.2, сборка 1399 от 08.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var m:=ReadInteger('Количество строк в массиве:'); var n:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',m,',',n,'] ***'); var a:=MatrRandom(m,n,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); var s:=a.Rows.SelectMany(x->x); Writeln('Отношение min/max равно ',s.Min/s.Max:0:4) end.
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016 unit MatInt;
interface
type Matrix=array[,] of integer;
function MatCreate(m,n:integer):Matrix; procedure MatPrint(a:Matrix;w:integer); procedure MatMax(a:Matrix;var x,imax,jmax:integer);
implementation
function MatCreate(m,n:integer):Matrix; // создает матрицу и инициализирует её нулями begin SetLength(Result,m,n); end;
procedure MatPrint(a:Matrix;w:integer); // выводит матрицу, отводя w позиций под элемент begin var n:=Length(a,1)-1; for var i:=0 to Length(a,0)-1 do begin for var j:=0 to n do Write(a[i,j]:w); Writeln end end;
procedure MatMax(a:Matrix;var x,imax,jmax:integer); // возвращает значение максимального элемента и его координаты begin imax:=0; jmax:=0; var n:=Length(a,1)-1; for var i:=0 to Length(a,0)-1 do for var j:=0 to n do if a[i,j]>a[imax,jmax] then (imax,jmax):=(i,j); Inc(imax); Inc(jmax); x:=a[imax-1,jmax-1] end;
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016 uses MatInt; begin var a:=MatCreate(5,8); var n:=Length(a,1)-1; for var i:=0 to Length(a,0)-1 do for var j:=0 to n do a[i,j]:=Random(-50,50); MatPrint(a,4); var irow,jcol,max:integer; MatMax(a,max,irow,jcol); Writeln('Максимальный А[',irow,',',jcol,']=',max) end.
Школьный обед - меню (список блюд с ценой), сколько человек подписаны на бесплатный/комплексный обед, какой объем блюд нужно приготовить к обеду, время обеда и тд
Ремонт квартиры - какие изменение необходимо сделать, бюджет, кто будет делать, материалы и их приобретение, инструменты, рассчетное время ремонта и тд
Пассажир поезда - имя, место, билет, постель, чай, спутники, багаж, от куда и куда, поезд и вагон
Дом, в котором ты живешь - адрес, этажность, материал стен, коммуникации, год сдачи, кол-во подьездов и тп
A:array[1..1000,1..1000] of integer;
M,N,Min,Max:integer;
Begin
Write('M(1..1000) = ');
ReadLn(M);
Write('N(1..1000) = ');
ReadLn(N);
For var i:= 1 to M do
Begin
For var j:= 1 to N do
Begin
A[i,j]:=random(1,M*N);
Write(A[i,j],' ')
End;
WriteLn;
End;
Min:=A[M,N];
Max:=A[M,N];
For var i:= 1 to M do
For var j:= 1 to N do
Begin
if Min>A[i,j] then Min:=A[i,j];
if Max<A[i,j] then Max:=A[i,j]
End;
WriteLn('Min(A) / Max(A) = ',Min/Max);
End.
Пример:
M(1..1000) = 3
N(1..1000) = 3
6 9 6
4 5 3
1 9 7
Min(A) / Max(A) = 0.111111111111111