// PascalABC.NET 3.2, сборка 1346 от 25.11.2016 // Внимание! Если программа не работает, обновите её версию!
// сортировка выбором procedure SortBySelect(var a:array of integer); begin var j:=a.High; while j>0 do begin var mx:=a[0]; var imx:=0; for var i:=1 to j do if a[i]>mx then begin mx:=a[i]; imx:=i end; a[imx]:=a[j]; a[j]:=mx; j-=1 end end;
begin var a:=ArrRandom(10,-20,20); a.Println; SortBySelect(a); a.Println end.
Var a, b, c: integer; begin write('Введите углы a, b, c >> '); readln(a, b, c); if a+b+c = 180 then if (a>0) and (b>0) and (c>0) then begin if (a=b) and (b=c) then writeln('Равносторонний '); if ((a=b) and (a<>c)) or ((b=c) and (b<>a)) or ((a=c) and (c<>b)) then writeln('Равнобедренный '); if (a<>b) and (b<>c) and (a<>c) then writeln('Разносторонний '); if (a=90) or (b=90) or (c=90) then writeln('Прямоугольный '); if (a>90) or (b>90) or (c>90) then writeln('Тупоугольный '); if (a<=89) and (b<=89) and (c<=89) then writeln('Остроугольный ') end else writeln('Углы должны быть больше 0') else writeln('Сумма углов не равна 180 градусам'); end.
Const nm = 20; nn = 20; var a: array[1..nm, 1..nn] of integer; b: array[1..nm] of integer; i, j, m, n, mina: integer;
begin Write('Введите число строк и столбцов массива: '); Readln(m,n); Randomize; Writeln('Исходный массив'); for i := 1 to m do begin for j := 1 to n do begin a[i, j] := Random(101) - 50; Write(a[i, j]:4) end; Writeln end;
for i:=1 to m do begin mina:=32767; for j:=1 to n do if mina>a[i,j] then mina:=a[i,j]; b[i]:=mina end;
Writeln('Сформированный массив'); for i:=1 to m do Write(b[i]:4); Writeln end.
// Внимание! Если программа не работает, обновите её версию!
// сортировка выбором
procedure SortBySelect(var a:array of integer);
begin
var j:=a.High;
while j>0 do begin
var mx:=a[0];
var imx:=0;
for var i:=1 to j do
if a[i]>mx then begin mx:=a[i]; imx:=i end;
a[imx]:=a[j];
a[j]:=mx;
j-=1
end
end;
begin
var a:=ArrRandom(10,-20,20); a.Println;
SortBySelect(a); a.Println
end.
Пример
-6 14 2 -6 -6 -9 20 -18 13 -18
-18 -18 -9 -6 -6 -6 2 13 14 20