вот не забудь нажать Объяснение:
var
arr : Array[1..100] Of ShortInt;
temp : ShortInt;
i, j, n : Byte;
begin
Write('n='); ReadLn(n);
Randomize;
for i := 1 to n do
begin
arr[i] := Random(11) - 5;
Write(arr[i], ' ');
end;
WriteLn; WriteLn;
for i := 2 to n do
for j := n downto i do
if (((arr[j - 1] <= 0) And (arr[j] > 0)) Or ((arr[j - 1] < 0) And (arr[j] = 0)))
then
begin
temp := arr[j - 1];
arr[j - 1] := arr[j];
arr[j] := temp;
end;
for i := 1 to n do
Write(arr[i], ' ');
end.
function nmbdec(var n,osn: integer): integer;
var nmb,l,s,k: integer;
begin
nmb:=0; s:=0;
k:=n; l:=1;
while k>0 do
begin
s:=k mod 10;
k:=k div 10;
nmb:=nmb+l*s;
l:=l*osn;
end;
Result:=nmb;
end;
{ конец функции}
begin
write('число: ');
readln(n);
write('квадрат какого числа: ');
readln(m);
osn:=10;
while osn>=2 do
begin
osn:=osn-1;
if nmbdec(n,osn)=sqr(nmbdec(m,osn)) then
begin
writeln('основание системы = ',osn);
break;
end;
end;
end.