Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на цыклы. Помогите, плизз!
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Johnny
Пожалуйста помогите решить задачу:
Использовать только массивы

Даны целые числа а1,…, аn. Получить числа, которые входят в последователь-ность по одному разу.

Заранее Спасибо!
klem4
для любых чисел :

type
TArray = array[1..30] of integer;

...
procedure GetUnique(x : TArray; n : byte);
var
i,j,t : byte;
flag : boolean;
begin

i := 1;

for i := 1 to n-1 do begin
for j := i + 1 to n do
if x[i] <> x[j] then break;
if x[i] <> x[j] then break;
end;

if (i=n-1) and (j=n) then n := 0;

i := 1;

while(i<=n-1) do begin
j := i + 1;
flag := false;
while(j<=n) do
if x[i] = x[j] then begin
for t := j to n-1 do x[t] := x[t+1];
dec(n);
flag := true;
end else inc(j);

if flag then begin
for t :=i to n-1 do x[t] := x[t+1];
dec(n);
end else inc(i);
end;


for i := 1 to n do writeln(x[i]);
end;


во как unsure.gif

только для чиселл типа byte :

type
TArray = array[byte] of byte;
TSet = set of byte;
...

procedure GetUnique(x : TArray; n : byte);
var
i,j : byte;
s : TSet;
begin
for i := 1 to n-1 do
for j := i+1 to n do
if x[i] = x[j] then
include(s, x[i]);

for i := 1 to n do
if not(x[i] in s) then writeln(x[i]);
end;
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.