// PascalABC.NET // Версия 3.3.5 сборка 1662 (29.04.2018)
function NOD(x, y: integer): integer; begin if x <> 0 then NOD := NOD(y mod x, x) else NOD := y; end;
function NOK(x, y: integer): integer; begin NOK := (x div NOD(x, y)) * y; end;
begin var (a, b) := ReadInteger2('1) Числитель и знаменатель->'); var (c, d) := ReadInteger2('2) Числитель и знаменатель->'); Println('Общий знаменатель:', NOK(b, d)) end.
mdubov59
16.08.2020
//PascalABC.NET (версия 3.1, сборка 1196 от 09.03.2016) 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.
savva-vika
16.08.2020
1. В "реальном мире" это решается примерно так:
// PascalABC.NET 3.1, сборка 1198 от 11.03.2016 begin var a:=ArrRandom(ReadInteger('n='),0,2); a.Println; a.Sorted.Println end.
2. Но, поскольку считается, что школьникам больше заняться нечем, их заставляют писать примерно в таком стиле (и время займет, и ощибок понаделают):
// PascalABC.NET 3.1, сборка 1198 от 11.03.2016 const nn=100; var i,j,n,t:integer; a:array[1..nn] of integer; begin Write('n='); Read(n); Randomize; for i:=1 to n do begin a[i]:=Random(3); Write(a[i],' ') end; Writeln; for i:=1 to n-1 do for j:=1 to n-1 do if a[j]>a[j+1] then begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end; for i:=1 to n do Write(a[i],' '); Writeln; end.
// Версия 3.3.5 сборка 1662 (29.04.2018)
function NOD(x, y: integer): integer;
begin
if x <> 0 then NOD := NOD(y mod x, x) else NOD := y;
end;
function NOK(x, y: integer): integer;
begin
NOK := (x div NOD(x, y)) * y;
end;
begin
var (a, b) := ReadInteger2('1) Числитель и знаменатель->');
var (c, d) := ReadInteger2('2) Числитель и знаменатель->');
Println('Общий знаменатель:', NOK(b, d))
end.