Программа вставляет перед элементом, кратным 5, элемент со значением 99 (чтобы его было видно среди прочих из диапазона [1..50] )
const nm = 20;
var i, j, n, nn: integer; a: array[1..nm] of integer;
begin n := nm div 2; nn := n; Randomize; Writeln('*** Исходный массив ***'); for i := 1 to n do begin a[i] := Random(50) + 1; { [1..50] } Write(a[i]:3) end; for i := n downto 1 do begin if a[i] mod 5 = 0 then begin nn := nn + 1; for j := nn downto i do a[j] := a[j - 1]; a[i] := 99 end end; Writeln(#13#10, '*** Массив-результат ***'); for i := 1 to nn do Write(a[i]:3); Writeln end.
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016 type Point=record x,y:real end;
function GetPoint(c:char):Point; begin Writeln('Введите координаты точки ',c,':'); Read(Result.x,Result.y) end;
function Line(A,B:Point):real; begin Result:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y)) end;
function SqTriangle(pA,pB,pC:Point):real; begin var a:=Line(pB,pC); var b:=Line(pA,pC); var c:=Line(pA,pB); if (a+b>c) and (a+c>b) and (b+c>a) then begin var p:=(a+b+c)/2; Result:=sqrt(p*(p-a)*(p-b)*(p-c)) end else Result:=0 end;
begin var A:=GetPoint('A'); var B:=GetPoint('B'); var C:=GetPoint('C'); Writeln('Площадь треугольника равна ',SqTriangle(A,B,C)) end.
Тестовое решение: Введите координаты точки A: -5 3.18 Введите координаты точки B: 1.45 6.2 Введите координаты точки C: 6 -5.93 Площадь треугольника равна 45.98975
const
nm = 20;
var
i, j, n, nn: integer;
a: array[1..nm] of integer;
begin
n := nm div 2;
nn := n;
Randomize;
Writeln('*** Исходный массив ***');
for i := 1 to n do
begin
a[i] := Random(50) + 1; { [1..50] }
Write(a[i]:3)
end;
for i := n downto 1 do
begin
if a[i] mod 5 = 0 then begin
nn := nn + 1;
for j := nn downto i do a[j] := a[j - 1];
a[i] := 99
end
end;
Writeln(#13#10, '*** Массив-результат ***');
for i := 1 to nn do Write(a[i]:3);
Writeln
end.
*** Исходный массив ***
23 22 27 16 45 42 15 13 27 31
*** Массив-результат ***
23 22 27 16 99 45 42 99 15 13 27 31