Есть ответ 👍

Даны три массива а = (а1, а2, …, аn), b = (b1, b2, …, bm), c = (c1, c2, …, ck). (n, m и k < =20, вводятся с клавиатуры). написать программу для последовательного объедения этих трех массивов в один и сортировки полученного массива по возрастанию.

221
492
Посмотреть ответы 3

Ответы на вопрос:

mar244144
4,5(44 оценок)

// pascalabc.net 3.1, сборка 1250 от 28.05.2016 begin   var n: =readinteger('n=');   var a: =readarrinteger('массив а: ',n);   var m: =readinteger('m=');   var b: =readarrinteger('массив b: ',m);   var k: =readinteger('k=');   var c: =readarrinteger('массив c: ',k);   var d: =(a+b+c).sorted;   d.println end. тестовое решение n= 5 массив а: 7 11 -4 9 8 m= 3 массив b: -5 -3 -8 k= 4 массив c: 1 4 9 7 -8 -5 -4 -3 1 4 7 7 8 9 9 11

//pascal abc.net 3.1 сборка 1219 type   ty=array[1..60] of integer; var   a,b,c: array[1..20] of integer;   ar: ty;   n,m,k,i: integer; procedure quicksort(var a: ty; lo,hi: integer); procedure sort(l,r: integer); var i,j,x,y: integer; begin i: =l;   j: =r;   x: =a[random(r-l+1)+l]; repeat while a[i]< x do   i: =i+1;   while x< a[j] do   j: =j-1;   if i< =j then     begin     if a[i] > a[j] then       begin       y: =a[i];   a[i]: =a[j];   a[j]: =y;       end;     i: =i+1;   j: =j-1;   end;     until i> =j;   if l< j then sort(l,j);   if i< r then sort(i,r); end; begin;   randomize;   sort(lo,hi); end;   begin   readln(n);   for i: =1 to n do   begin   readln(a[i]);   ar[i]: =a[i];   end;   readln(m);   for i: =1 to m do   begin   readln(b[i]);   ar[i+n]: =b[i];   end;   readln(k);   for i: =1 to k do   begin   readln(c[i]);   ar[i+n+m]: =c[i];   end;   quicksort(ar,1,n+m+k);   writeln('final array: ');   for i: =1 to n+m+k do   write(ar[i]: 4); end. пример ввода: 3 1 2 3 3 1 2 3 3 1 2 3 пример вывода: final array:     1   1   1   2   2   2   3   3   3

Объем равен 1050 тк , если не веришь смотришь интернет и там есть

Популярно: Информатика