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

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

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

Автор: Viktim 23.11.2006 2:00

Мне надо решить задачку.
cool.gif Вводится значение одномерного массива и значение его элементов.удалить уникальные (неповторяющиеся элементы) элементы.Результат вывести.
прошу написать только часть проги.А именно - поиск уникальных элементов и их удаление.
заранее благодарю. blum.gif

Автор: lapp 23.11.2006 6:11

Можно сделать довольно красиво через множества, но тогда будет наложено ограничение: различных элементов должно быть не более 255.
Вот так, примерно:


...
var
a:array[0..m]of tElem;
All,Dups,Singles:set of tElem;
...
begin
...
{сбор всех и повторяющихся}
for i:=0 to m do
if a[i] in All then Include(Dups,a[i]) else Include(All,a[i]);
{нахождение одиночных}
Singles:=All-Dups;
{удаление одиночных}
n:=m; {размер массива без одиночных, подготовка}
for i:=m downto 0 do
if a[i] in Singles then begin
for j:=i+1 to n do a[j-1]:=a[j];
Dec(n)
end
end.

Если нужно для большего количества элементов - скажи.
Цитата(Viktim @ 22.11.2006 23:00) *

заранее благодарю. blum.gif

В следующий раз за показ языка в неуместной ситуации закрою тему.. angry.gif