Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Объединить элементы двух массивов в один массив (http://www.tehnari.ru/f43/t95394/)

Колясик 24.03.2014 19:11

Объединить элементы двух массивов в один массив
 
массивы X(N), Y(N). элементы каждого из массивов упорядочены не по убыванию. объединить элементы двух массивов в один массив W так, что бы они снова оказались упорядоченными по неубыванию.

Vladimir_S 24.03.2014 20:17

Цитата:

Сообщение от Колясик (Сообщение 1018803)
массивы X(N), Y(N). элементы каждого из массивов упорядочены не по убыванию. объединить элементы двух массивов в один массив W так, что бы они снова оказались упорядоченными по неубыванию.

Код:

Const
 N=20;

Type
 Ar=Array[1..2*N] of Integer;

Var
 X,Y,W:Ar;
 q:Byte;

Procedure Bubble(M:Byte; var A:Ar);
var
 i,j:Byte;
 D:Integer;
begin
 for i:=1 to M-1 do
  for j:=1 to M-i do
  if A[j]>A[j+1] then
    begin
    D:=A[j];
    A[j]:=A[j+1];
    A[j+1]:=D;
    end;
end;

Begin
 Randomize;
 for q:=1 to N do
  begin
  X[q]:=-2+Random(25);
  Y[q]:=-10+Random(25);
  end;
 Bubble(N,X);
 Bubble(N,Y);
 Writeln('Array X:');
 for q:=1 to N do write(X[q]:4);
 Writeln;
 Writeln;
 Writeln('Array Y:');
 for q:=1 to N do write(Y[q]:4);
 Writeln;
 Writeln;
 for q:=1 to N do
  begin
  W[q]:=X[q];
  W[N+q]:=Y[q];
  end;
 Bubble(2*N,W);
 Writeln('Array W:');
 for q:=1 to 2*N do write(W[q]:4);
 Readln
End.



Часовой пояс GMT +4, время: 06:36.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.