Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Обьединение массивов

Автор: kess 17.03.2007 0:02

Заданы два одномерныхмассива различных размеров. Обьединить их в однин массив, включив второй массив между K-тым и (K+1)-м элементами первого массива (K задано) заранее сасибо

Автор: Артемий2 17.03.2007 0:21

Маленький вопросик - массив чего?Строк,чисел?

Автор: kess 17.03.2007 0:24

Цитата(Артемий2 @ 16.03.2007 20:21) *

Маленький вопросик - массив чего?Строк,чисел?

не указано.... скорей всего чисел

Автор: Артемий2 17.03.2007 0:39

Попробуй так:

const
a: array [1..4] of Integer = (3,6,2,9);
b: array [1..7] of Integer = (23,34,56,78,12,33,27);
var
comp: array [1..11] of Integer;
k,i,l: Integer;
begin
readln(k);
l:=0;
for i:=1 to 11 do begin
if not (k+1=i) and (k+1>i) then begin
comp[i]:=a[i];
end else begin
if not (l=7) then begin
Inc(l);
comp[i]:=b[l];
end else begin
inc(k);
comp[i]:=a[k];
end;
end;
end;
for i:= 1 to 11 do write(comp[i],' ');
readln

Автор: Kirill_ 17.03.2007 1:02

А можно и так!

Код
const
     a=10;
     b=3;
var
   mas_1:array [0..a] of integer;
   mas_2:array [0..b] of integer;
   mas:array [0..(a+b+1)] of integer;
   k,i,m:integer;
begin
     For i:=0 to a do
        begin
         write('mas_1[',i,']=');
          readln(m);
          mas_1[i]:=m;
       end;
     For i:=0 to b do
        begin
         write('mas_1[',i,']=');
          readln(m);
          mas_2[i]:=m;
       end;
     writeln('K=');
     readln(k);
     for i:=0 to k-1 do
          mas[i]:=mas_1[i];
     for i:=0 to b do
          mas[(k+1)+i-1]:=mas_2[i];
     m:=0;
     for i:=k to (a-k+2) do
     begin
          mas[k+b+1+m]:=mas_1[i];
     m:=m+1;
    end;
for i:=0 to (a+b+1) do
     write(s[i],' ');

end.

Автор: Артемий2 17.03.2007 1:15

А ты уверен что твой вариант компилируется?? dry.gif