Даны три массива а = (а1, а2, …, аn), b = (b1, b2, …, bm), c = (c1, c2, …, ck). (n, m и k < =20, вводятся с клавиатуры). написать программу для последовательного объедения этих трех массивов в один и сортировки полученного массива по возрастанию.
221
492
Ответы на вопрос:
// 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
Популярно: Информатика
-
jykov200025.02.2021 14:13
-
tor14200331.12.2022 08:23
-
AntonBobko11.05.2022 21:43
-
Adilka1115.06.2021 09:38
-
tanya211928630.03.2020 00:46
-
Джерико19.12.2021 14:31
-
sakds28.10.2020 07:46
-
YouTuber22822.12.2022 10:02
-
Viki388810.05.2023 19:05
-
killir9907.10.2021 22:44