PascalABC.NET
const
n=10;
var
a:array[1..n,1..n] of integer;
i,j,kp,kq:integer;
p,q:array of integer; // динамические массивы
begin
Randomize;
Writeln('Исходный массив из случайных чисел');
kp:=0; kq:=0;
SetLength(p,n*n); SetLength(q,n*n);
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=Random(101)-50; // диапазон [-50;50]
Write(a[i,j]:4);
if a[i,j]>0 then begin p[kp]:=a[i,j]; Inc(kp) end
else
if a[i,j]<0 then begin q[kq]:=a[i,j]; Inc(kq) end
end;
Writeln
end;
SetLength(p,kp); SetLength(q,kq); // отрегулировали по заполнению
Writeln('Положительные');
for i:=0 to kp-1 do Write(p[i],' '); Writeln;
Writeln('Отрицательные');
for i:=0 to kq-1 do Write(q[i],' '); Writeln
end.
Пример
Исходный массив из случайных чисел
46 47 -8 -32 36 41 -49 -15 25 -33
18 15 1 15 21 43 30 41 -15 -21
-48 15 -5 17 19 30 -38 0 10 11
-16 10 48 -30 -40 -49 -48 24 18 24
47 45 50 44 -3 -15 19 29 -13 38
-23 3 -23 19 19 -19 1 26 0 -45
28 1 26 -36 34 -43 18 -19 4 19
41 -45 -27 12 -18 -43 16 1 -31 -17
-39 -16 -37 22 -17 31 -17 -22 1 30
0 -24 -27 12 46 -4 -32 36 -40 -11
Положительные
46 47 36 41 25 18 15 1 15 21 43 30 41 15 17 19 30 10 11 10 48 24 18 24 47 45 50 44 19 29 38 3 19 19 1 26 28 1 26 34 18 4 19 41 12 16 1 22 31 1 30 12 46 36
Отрицательные
-8 -32 -49 -15 -33 -15 -21 -48 -5 -38 -16 -30 -40 -49 -48 -3 -15 -13 -23 -23 -19 -45 -36 -43 -19 -45 -27 -18 -43 -31 -17 -39 -16 -37 -17 -17 -22 -24 -27 -4 -32 -40 -11
1.
1)var a,b,c,P,S:real;beginread(a,b,c);P:=a+b+c;writeln('P=',P);P:=P/2;S:=sqrt(p*(p-a)*(p-b)*(p-c));writeln('S=',S);end.
2)var a,b,P,S:real;beginread(a,b);P:=2*(a+b);writeln('P=',P);S:=a*b;writeln('S=',S);end.
3)var a,P,S:real;beginread(a);P:=3.14*2*a;writeln('P=',P);S:=3.14*sqr(a);writeln('S=',S);end.
3 координаты
Ось х - длина
Ось у - ширина
Ось z - высота
Const
N = 13;
Var
A:array[1..N] of integer;
i,Max,Min,S:integer;
Begin
Randomize;
Write('Исходный массив A(',N,'):');
Min:=1;
Max:=1;
For i:= 1 to N do
Begin
A[i]:=random(201)-100;
Write(' ',A[i]);
if A[i]<A[Min] then Min:=i;
if A[i]>A[Max] then Max:=i;
S:=S+A[i];
End;
WriteLn;
WriteLn('Min(A) = A[',Min,'] = ',A[Min]);
WriteLn('Max(A) = A[',Max,'] = ',A[Max]);
WriteLn('Среднее арифметическое элементов массива = ',S/N);
Write('Новый массив:');
S:=A[Min];
A[Min]:=A[Max];
A[Max]:=S;
For i:= 1 to N do
Write(' ',A[i])
End.
Пример работы программы:
Исходный массив A(13): 60 -61 8 -60 58 -73 93 82 74 -35 89 -72 -44
Min(A) = A[6] = -73
Max(A) = A[7] = 93
Среднее арифметическое элементов массива = 9.15384615384615
Новый массив: 60 -61 8 -60 58 93 -73 82 74 -35 89 -72 -44