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

Ответы 2

  • // PascalABC.NET 3.1, сборка 1250 от 28.05.2016begin  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.Printlnend.Тестовое решениеn= 5Массив А: 7 11 -4 9 8m= 3Массив B: -5 -3 -8k= 4Массив C: 1 4 9 7-8 -5 -4 -3 1 4 7 7 8 9 9 11
    • Автор:

      poppy80
    • 6 лет назад
    • 0
  • //Pascal ABC.NET 3.1 сборка 1219Type 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);vari,j,x,y: integer;begini:=l; j:=r; x:=a[random(r-l+1)+l];repeatwhile 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.Пример ввода:312331233123Пример вывода:Final array:   1   1   1   2   2   2   3   3   3
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years