В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
Луи3а
Луи3а
07.01.2023 22:12 •  Информатика

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

Показать ответ
Ответ:
zhorik2006nice
zhorik2006nice
28.09.2020 15:04
// 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
0,0(0 оценок)
Ответ:
Wector11211
Wector11211
28.09.2020 15:04
//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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота