Показать сообщение отдельно
  #11  
Старый 31.01.2014, 18:39
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от 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;
Ответить с цитированием