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