xD
uses crt;
var
dt,t1,t2:LongInt;
function GetTime:LongInt;
var
substr,str:string;
ERR,step,spacepos,code,num:Integer;
t:longint;
begin
ERR:=0;
repeat
t:=0;
step:=1;
if ERR<>0 then writeln('Nepravilnie dannie, povtorite vvod:');
ERR:=0;
readln(str);
str:=str+' ';
repeat
spacepos:=pos(' ',str);
if (spacepos<>0) then
begin
substr:=copy(str,1,spacepos-1);
delete(str,1,spacepos);
val(substr,num,code);
if code=0 then
begin
if (step=1) then begin if (num>=0) and (num<=23) then t:=t+num*60*60 else ERR:=3; end;
if (step=2) then begin if (num>=0) and (num<=59) then t:=t+num*60 else ERR:=3;end;
if (step=3) then begin if (num>=0) and (num<=59) then t:=t+num else ERR:=3;end;
inc(step);
end
else ERR:=2;
end else ERR:=1;
until ((step=4) or (err<>0));
until err=0;
GetTime:=t;
end;
begin
writeln('pervoe vremy:');
t1:=GetTime;
writeln('vtoroe vremy:');
t2:=GetTime;
if t2>=t1 then dt:=t2-t1 else dt:=t2-t1+24*60*60;
writeln('raznica v sekundah: ');
writeln(dt);
end.
function
Transpose(a: array[,] of integer): array[,] of integer;
//Поворот на 90гр по часовой стрелке
begin
var m := Length(a, 0);
var n := Length(a, 1);
Result := new integer[n, m];
for var i := 0 to n-1 do begin
for var j := 0 to m-1 do
Result[i, j] := a[m-1-j, i];
end;
end;
begin
var n := ReadInteger('Введите n:');
//Заполнение матрицы NxN сл. числами и вывод на экран
var a :=MatrixRandom(n, n);
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do
Print(a[i,j]);
println;
end;
println;
Println('поворот влево на 90 гр');
var b := Transpose(a);
b:=Transpose(b);
b:=Transpose(b);
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do
Print(b[i,j]);
println;
end;
println;
Println('поворот вправо на 90гр');
b := Transpose(a);
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do
Print(b[i,j]);
println;
end;
println;
Println('поворот на 180 гр');
b := Transpose(a);
b := Transpose(b);
for var i:=0 to n-1 do begin
for var j:=0 to n-1 do
Print(b[i,j]);
println;
end;
end.