Кто может решить по паскалю? 1)даны числа a1, получить в порядке возрастания (в новом массиве) все различные числа, входящие в a1,. 2)даны два набора чисел c1, cn и d1, d2, dm. соединить их в один массив f (только написать нужно чтобы числа в массив вводились вручную, а не рандоные)

Mushvi Mushvi    1   06.09.2019 05:00    1

Ответы
Daniela04102005 Daniela04102005  06.10.2020 20:40
// PascalABC.NET 3.3, сборка 1540 от 16.09.2017
// Внимание! Если программа не работает, обновите версию!

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
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика