Решить с паскаля: 1. в массиве все отрицательные элементы переместить в начало массива, а остальные в конец с сохранением порядка следования. 2. дана последовательность целых чисел, среди чисел есть одинаковые, создать массив различных чисел последовательности и полученный массив отсортировать по возрастанию.
var
i,k:integer;
a,b:array[1..10]of integer;
begin
writeln('Исходный массив:');
for i:=1 to 10 do
begin
a[i]:=random(-10,10);
write(a[i]:3)
end;
for i:=1 to 10 do
begin
if a[i]<0 then
begin
k:=k+1;
b[k]:=a[i]
end
end;
for i:=1 to 10 do
begin
if a[i]>=0 then
begin
k:=k+1;
b[k]:=a[i]
end
end;
writeln;
writeln('Преобразованный массив:');
for i:=1 to 10 do write(b[i]:3)
end.
2.
var i,j,k,n,x,p:integer;
a,b:array of integer;
f:boolean;
begin
write('Сколько будет чисел: ');
readln(n);
SetLength(a, n);
for i:=1 to n do
begin
f:=false;
write('Введите число: ');
readln(x);
for j:=0 to n-1 do
if x=a[j] then f:=true;
if f=false then
begin
a[k]:=x;
k:=k+1;
end
end;
SetLength(b, k);
for i:=0 to k-1 do b[i]:=a[i];
for i:= 0 to k-1 do
for j := 0 to k-1 do
begin
if b[i] < b[j] then
begin
p := b[i];
b[i] := b[j];
b[j] := p
end
end;
writeln('Отсортированный массив:');
for i:=0 to k-1 do write(b[i]:3)
end.
2.1
var
i,j,k,n,x,p:integer;
a:array[1..1000] of integer;
f:boolean;
begin
write('Сколько будет чисел: ');
readln(n);
k:=1;
for i:=1 to n do
begin
f:=false;
write('Введите число: ');
readln(x);
for j:=1 to n do
if x=a[j] then f:=true;
if f=false then
begin
a[k]:=x;
k:=k+1;
end
end;
for i:=1 to k-1 do
for j:=1 to k-1 do
begin
if a[i] < a[j] then
begin
p:= a[i];
a[i]:= a[j];
a[j]:= p
end
end;
writeln('Отсортированный массив:');
for i:=1 to k-1 do write(a[i]:3)
end.