// 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.
uses crt,graph; type mas=array[1..500] of Pointtype; var gd,gm,i,j,k,n:integer; a:mas; begin randomize; gd:=0; initgraph(gd,gm,''); for i:=1 to 500 do begin a[i].x:=random(getmaxX); a[i].y:=random(getmaxY); circle(a[i].x,a[i].y,2); end; k:=0;n:=0; repeat k:=k+1; delay(200); setcolor(0); for i:=1 to 500 do circle(a[i].x,a[i].y,2); for i:=1 to 500 do begin if a[i].y>getmaxY-n-10 then a[i].y:=1 else a[i].y:=a[i].y+3; if a[i].x<0 then a[i].x:=getmaxX else a[i].x:=a[i].x-1; end; setcolor(15); for i:=1 to 500 do circle(a[i].x,a[i].y,2); if k mod 20=0 then begin n:=n+1; line(0,getmaxY-n,getmaxX,getmaxY-n); end; until keypressed; readln end.
учи учи учи учи учи учи учи учи