Напишите программу в паскале . мы вводим первый массив,вводим второй массив и в третьем массиве программа выводит все числа по возрастанию

Напишите программу в паскале . мы вводим первый массив,вводим второй массив и в третьем массиве программа выводит все числа по возрастанию
Гость
Ответ(ы) на вопрос:
Гость
Решение быстрой сортировкой , вводим длину начальных массивов и 2 массива. Получаем ответ
Гость
1. Классическая "школьная" реализация на Паскале // PascalABC.NET 3.0, сборка 1076 const   nn=50; { максимальная длина массивов 1,2 } var   a,b:array[1..nn] of integer;   c:array[1..2*nn] of integer;   n1,n2,n3,i,j,t,k:integer; begin   Randomize;   Write('Размер первого массива (1-50): '); Read(n1);   Write('Размер второго массива (1-50): '); Read(n2);   { Шаг 1. Инициализация первого массива случайными числами }   Writeln('*** Первый массив ***');   for i:=1 to n1 do begin     a[i]:=Random(51)-25;     Write(a[i],' ')   end;   Writeln;   { Шаг 2. Инициализация второго массива случайными числами }   Writeln('*** Второй массив ***');   for i:=1 to n2 do begin     b[i]:=Random(51)-25;     Write(b[i],' ')   end;   Writeln;   { Шаг 3. Сортировка первого массива }   for i:=1 to n1-1 do     for j:=1 to n1-1 do       if a[j]>a[j+1] then       begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;   { Шаг 4. Сортировка второго массива }   for i:=1 to n2-1 do     for j:=1 to n2-1 do       if b[j]>b[j+1] then       begin t:=b[j]; b[j]:=b[j+1]; b[j+1]:=t end;   { Шаг 5. Слияние }   n3:=n1+n2;   i:=1; j:=1; k:=1;   while (i<=n1) and (j<=n2) do begin     if a[i]<=b[j] then begin c[k]:=a[i]; Inc(i) end     else begin c[k]:=b[j]; Inc(j) end;     Inc(k);   end;   if i>n1 then     for j:=j to n2 do begin c[k]:=b[j]; Inc(k) end   else     if j>n2 then       for i:=i to n1 do begin c[k]:=a[i]; Inc(k) end;   { Шаг 6. Вывод результата }   Writeln('*** Третий массив ***');   for i:=1 to n3 do Write(c[i],' ');   Writeln end.   Тестовое решение: Размер первого массива (1-50): 10 Размер второго массива (1-50): 7 *** Первый массив *** 11 -9 20 -8 -1 13 25 23 5 24 *** Второй массив *** 20 -4 -14 -19 19 -23 10 *** Третий массив *** -23 -19 -14 -9 -8 -4 -1 5 10 11 13 19 20 20 23 24 25 2. Реализация современными средствами программирования // PascalABC.NET 3.0, сборка 1076 begin   var n1:=ReadInteger('Размер первого массива (1-50): ');   var n2:=ReadInteger('Размер второго массива (1-50): ');   var a:=ArrRandom(n1,-25,25);   Writeln('*** Первый массив ***'); a.Println;   var b:=ArrRandom(n2,-25,25);   Writeln('*** Второй массив ***'); b.Println;   var c:=(a+b).Sorted;   Writeln('*** Третий массив ***'); c.Println end. Тестовое решение: Размер первого массива (1-50): 10 Размер второго массива (1-50): 7 *** Первый массив *** 1 22 -22 -16 -1 -10 24 -22 -18 -8 *** Второй массив *** 15 23 -12 12 17 -8 13 *** Третий массив *** -22 -22 -18 -16 -12 -10 -8 -8 -1 1 12 13 15 17 22 23 24
Не нашли ответ?
Ответить на вопрос
Похожие вопросы