AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

2-dimensionales dynamisches Array

Ein Thema von kaka77 · begonnen am 3. Apr 2012 · letzter Beitrag vom 4. Apr 2012
Antwort Antwort
kaka77

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

2-dimensionales dynamisches Array

  Alt 3. Apr 2012, 21: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
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: 2-dimensionales dynamisches Array

  Alt 3. Apr 2012, 22:38
Warum spiecherst du nicht einfach die Zahl?
High() und Low() bilden ein gutes Team; d.h. ich würde beide für die Grenzen verwenden. Dann kann der Code z.B. auch für statische Arrays verwendet werden.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#3

AW: 2-dimensionales dynamisches Array

  Alt 4. Apr 2012, 00:03
      if mengen[x, y] = zahl then begin
Hier sind x und y vertauscht!
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz