Test na powtórzenia słów

Test na powtórzenia słów
maxiu1989
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 84
0

Mam 1000słów i chciałbym sprawdzić czy jakieś nie występuje 2x. Jak rozwiązać takie sprawdzanie? Nie chciałbym ładować do zmiennej 1 słowa i n-tego słowa i porównywać. Czy istnieje jakiś szybszy sposób? Co jeśli mam 2 tablice takich słów.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Przez zliczanie. Wrzucaj słowa do HashMapy po prostu.

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Można też wrzucać do zbioru (Set), a na końcu porównać wielkość tablicy i zbioru.

Mariusz Bruniewski
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Świecie
0

Na pewno słowa masz w pliku. Jeśli chcesz usunąć duplikaty to skorzystaj z jest to bardzo szybki sposób na sprawdzanie duplikatów :
http://delphi.about.com/od/delphitips2009/qt/remove-duplicat.htm

A jeśli chcesz zobaczyć np co się duplikuje a później kasuje (Llistbox zamień na TStringList) to :

Kopiuj
var
i,j : integer;
begin
for i := 0 to Listbox1.Items.Count - 2 do
begin
  j := i + 1 ;
  while j <  Listbox1.Items.Count do
  begin
    if  Listbox1.Items.Strings[i] =  Listbox1.Items.Strings[j] then 
      begin
       Showmessage('Słowo : '+ Listbox1.Items.Strings[i]+#13+'powtórzyło się i zostanie skasowane !!!');
       Listbox1.Items.Delete(j)
      end else
      Inc(j);
    end;
   Caption := inttostr(Listbox1.Items.Count);
  end;
end;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.