Цитата:
Сообщение от aypinki
Код:
for i:=0 to Length(A) do
flag:=true;
.....
|
Смотри, вот этот кусок будет работать вот так:
Код:
for i:=0 to Length(A) do flag:=true;
Т.е. много раз в переменную flag будет записано значение true, а какой смысл в одну переменную записывать одно и то же значение много раз?
И кроме того для подсчёта уникальных чисел тебе понадобится либо ещё один массив, либо модифицировать исходный массив.
Ещё можно воспользоваться классом TStringList:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
sl: TStringList;
i: Integer;
begin
sl := TStringList.Create;
try
sl.Sorted := True;
sl.Duplicates := dupIgnore;
for i := Low(A) to High(A) do sl.Add(IntToStr(A[i]));
ShowMessageFmt('Уникальных чисел %d', [sl.Count]);
finally
sl.Free;
end;
end;