Даны два вектора {xi}, {yi}, i = 1, . . ., 10, упорядоченные по возрастанию. Соедините их в один вектор {zi}, i = 1, . . ., 20 так, чтобы сохранилась упорядоченность.
от

1 Ответ

var   xi, yi, zi: array [1..10] of integer;   i, j, k: integer;
// Заполнение xi и yi значениями // ...
i := 1; j := 1; k := 1;
while (i <= 10) and (j <= 10) do begin   if xi[i] < yi[j] then   begin     zi[k] := xi[i];     i := i + 1;   end   else   begin     zi[k] := yi[j];     j := j + 1;   end;   k := k + 1; end;
// Дополнительная обработка оставшихся элементов xi и yi, если есть while i <= 10 do begin   zi[k] := xi[i];   i := i + 1;   k := k + 1; end;
while j <= 10 do begin   zi[k] := yi[j];   j := j + 1;   k := k + 1; end;
от