Кто может решить по паскалю? 1)даны числа a1, получить в порядке возрастания (в новом массиве) все различные числа, входящие в a1,. 2)даны два набора чисел c1, cn и d1, d2, dm. соединить их в один массив f (только написать нужно чтобы числа в массив вводились вручную, а не рандоные)
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadArrInteger(ReadInteger('n='));
var b:=a.Distinct.OrderBy(x->x).ToArray; b.Println
end.
Пример
n= 7
3 -5 6 3 3 4 1
-5 1 3 4 6
begin
var n1:=ReadInteger('Длина первого массива-');
var c:=ReadSeqInteger('Вводите массив:',n1).OrderBy(x->x).ToArray;
var n2:=ReadInteger('Длина второго массива-');
var d:=ReadSeqInteger('Вводите массив:',n2).OrderBy(x->x).ToArray;
//собственно слияние
var f:=new integer[n1+n2];
var (ic,id,&if):=(0,0,0);
repeat
if c[ic]<d[id] then begin f[&if]:=c[ic]; ic+=1 end
else begin f[&if]:=d[id]; id+=1 end;
&if+=1
until (ic=n1) or (id=n2);
if ic=n1 then
repeat
f[&if]:=d[id]; id+=1; &if+=1
until id=n2
else
repeat
f[&if]:=c[ic]; ic+=1; &if+=1
until ic=n1;
Write('Массив F: '); f.Println(',')
end.
Пример
Длина первого массива- 6
Вводите массив: 4 0 -3 6 4 2
Длина второго массива- 5
Вводите массив: 3 6 -3 0 2
Массив F: -3,-3,0,0,2,2,3,4,4,6,6