Einzelnen Beitrag anzeigen

kaka77

Registriert seit: 3. Aug 2006
11 Beiträge
 
#1

2-dimensionales dynamisches Array

  Alt 3. Apr 2012, 20:23
Hallo zusammen!

folgendes szenario:

ich habe ein dynamisches array, dessen elemente wiederum dynamische arrays sind, dessen elemente sind integer werte.
(TMengen = array of array of integer

eine procedure soll abhängig vom übergebenen parameter diesen in das "richtige" array speichern

als beispiel:
Delphi-Quellcode:
TMengen = array of array of integer;
mengen: TMengen;

procedure test1(zahl:integer);
var x,y:integer;
begin
  for y:=0 to high(mengen) do begin
    for x:=0 to high(mengen[y]) do begin
      if mengen[x, y] = zahl then begin
        setlength(mengen[y], length(mengen[y])+1);
        mengen[y, high(mengen[y])] := zahl;
        exit;
      end;
    end;
  end;
  setlength(mengen, length(mengen)+1);
  setlength(mengen[high(mengen)], 1);
  mengen[high(mengen), 1]:= zahl;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
  randomize;
  setlength(mengen, 1);
  setlength(mengen[0], 1);
  for i:=0 to 100 do
    test1(random(10));

  for i:=0 to high(mengen[0]) do
    listbox1.Items.add(inttostr(mengen[0, i]));
end;
also zB. wird eine zufallszahl erzeugt, diese soll im array gespeichert werden, unzwar so, dass wenn sie schonmal vorkam, also in der menge ist, in die gleiche menge eingefügt wird, so dass man zum schluss zb anhand der länge der einzelnen teilmengen feststellen kann, wie oft die jeweilige zufallszahl gefallen ist.

sagt mir jetzt nicht wie blöd das ist, es ist nur ein beipiel

es geht um die verwendung mehrdimensionaler dynamischer arrays



das problem ist, dass das programm nicht fehlerfrei läuft, ich bin mir nicht sicher, ob es an meiner verwendung von -setlength- liegt


bin für jede hilfe dankbar
  Mit Zitat antworten Zitat