Einzelnen Beitrag anzeigen

Nuclear-Ping
(Gast)

n/a Beiträge
 
#2

Re: Doppelte Werte in einem Array zählen...

  Alt 30. Okt 2004, 14:51
Du nimmst dir zwei verschachtelte Schleifen und vlt. noch ein Array of Record: In der ersten durchläufst du das ursprüngliche Array und in der zweiten das zu prüfende Array.

Delphi-Quellcode:
var
  a, b: Integer;
  Counter: Array of record
                      Value: Integer;
                      Count: Integer;
                    end;
begin
  SetLength (Counter, Length (UrsprungsArray));
  
  // Zählen
  for a := 0 to Length (UrsprungsArray) - 1 do
    begin
      Counter[a].Value := UrsprungsArray[a];
      Counter[a].Count := 0;
      for b := 0 to Length (PruefArray) - 1 do
        if (UrsprungsArray[a] = PruefArray[b]) then
          inc (Counter[a].Count);
    end;

  // Werte ausgeben
  for a := 0 to Length (Counter) - 1 do
    showmessage ('Wert ' + inttostr (Counter[a].Value) + ' ist ' + inttostr (Counter[a].Count) + ' mal vorhanden');
end;
Ist ungetestet, aber ich hoffe, ich hab nix vergessen.

Grüße,
Mario
  Mit Zitat antworten Zitat