1.
Пусть
задана матрица размером N строк на M столбцов (N<=100,M<=100). Необходимо
составить матрицу, в которой все значения элементов являются их координатами
расположения в матрице. Номер строки и номер столбца должен быть разделен
запятой, элементы разделяются точкой с запятой.
program Project2;
{$APPTYPE CONSOLE}
uses SysUtils; type TArrayReal=array [1..100,1..100] of Real;
var x,y:integer; a:TArrayReal; n,m:integer;
Function Max(a,b:integer):integer; // находим максимальный среди двух элементов begin if a>b then result:=a else result:=b; end;
Function GetDEcl(a:integer):integer; // порядок числа var i:integer; a1:real; begin i:=1; a1:=a; if a>0.9 then begin repeat a1:=a1/10; i:=i*10; until a1<0.9; result:=i; end else result:=1; end;
Function GetDEcl_I(a:integer):integer; // порядок числа var i:integer; a1:real; begin i:=0; a1:=a; if a>0.9 then begin repeat a1:=a1/10; i:=i+1; until a1<0.9; result:=i; end else result:=1; end;
Procedure CreateMas(var a:TArrayReal; const n,m:integer); var dec,x,y:integer; begin for y:=1 to n do for X:=1 to m do begin dec:=GetDEcl(max(x+1,y+1)); a[x,y]:=(x+1)+(y+1)/dec; end; end;
Procedure Display(a:TArrayReal;n,m:integer); // вывод матрицы на экран var I,x,y:integer; begin i:=GetDEcl_I(max(n,m)); for y:=1 to n do begin writeln; for x:=1 to m do begin write(a[x,y]:I:I,' '); end; end; end; begin N:=8; m:=8; CreateMas(a,n,m); Display(a,n,m); readln; { TODO -oUser -cConsole Main : Insert code here }
end.
|