Помощь - Поиск - Пользователи - Календарь
Полная версия: Слияние в массиве
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
Ars
Искал по поиску но не нашел.
Как слиять два массива?
У меня такая задача:
Даны 2 массива, путем слияния получить массив 3, удаляемые эл. собрать в 4 массиве.
Я не пойму, какие удаляемые элементы? или как их удалять (задача не полностью)
Altair
ну так, задача не полностью дана, решить ее нельзя.

А что не понятного в слиянии массивов?
Ars
Задачу я не стал писать полностью, потому, что подумал, что здесь только теор. вопросы. А насчет слияния массивов - я не знаю как их слиять sad.gif.
Altair
Код

const
nn=100;
type
Atype = array[1..nn] of integer;
var
a,b,c:atype;
na,nb,nc:integer;
i,j:integer;
begin
{...}
j:=1;
For i:=1 to  na do begin c[j]:=a[i]; inc(j); end;
For i:=1 to nb do begin c[j]:=b[i];inc(j) end;
nc:=nc+nb;
{...}
end.

так можно выполнять слияние массива A и B в масив C
Ars
Спасибо!
Ars
За слияние массивов огромное спасибо, а как удалять элементы?
Altair
удалять улементы можно по номеру или по совпадению (1 случай - удалить 3 элемент, второй случай -удлить элемент значением 123 например).
Рассмотрим только первый случай. т.к. второй это частный случай первого.

Код
const
nn=100;
Var
a:array[1..nn] of integer;
i,s:integer;
n:integer;
begin
{n хранит длиннумасива текущую}
 s:=5; {удаляем 5 элемент}
For i:=s to n do if i<>n then a[i]:=a[i]+1;
DEC(n);
end.

ТО есть переписываем (СДВИГАЕМ) массив, и уменьшаем на 1 длиннуобработки масива
Ars
Большое спасибо!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.