Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Arrays mit drei Dimensionen... nicht einfach -.- (https://www.delphipraxis.net/103286-arrays-mit-drei-dimensionen-nicht-einfach.html)

Jelly 13. Nov 2007 19:42

Re: Arrays mit drei Dimensionen... nicht einfach -.-
 
Ich weiss immer noch nicht was dein Keller ist, welche Operationen es da gibt, und schon gar nicht das im Zusammenhang steht. Erklär dich mal bitte, das hier bringt nix.

Ich hab das Gefühl, du willst die ganze Logik unbedingt in ein Array packen. Die Frage ist, ob das sinnvoll ist. Es bietet sich eventuell eher eine objektorientierte Lösung an. Aber dafür müssen wir erst einmal dein Problem verstehen.

ArchaicSeraphim 13. Nov 2007 19:53

Re: Arrays mit drei Dimensionen... nicht einfach -.-
 
Also:
  • Automat: Maschine, die innere Zustände hat, und je nach Zustand unterschiedlich auf Eingaben reagiert.
  • Kellerautomat: Automat, der noch einen Zähler/Stack/Keller miteingebaut hat.
Den braucht man, wenn man z.B. sowas machen will wie überprüfen, ob alle geöffneten Klammern auch geschlossen wurden. Der einfache Automat weiß ja nicht, wieviele geöffnete Klammern es gibt. Der bräuchte quasi unendlich Zustände. Deshalb hat ein schlauer Mensch den Stack/Keller erfunden. Da ist eine Startmarke (s) drin, man kann andere Marken rein-"push"en (m, die Operation heißt 'push'), die oberste angucken (top) und rausschmeißen (pop) bzw. nichts machen (nop). Die Frage ist jetzt, wie kann ich alle diese Infos (Zustand, Eingabe, Kellerzustand und -operation) miteinander kombinieren? Von mir aus auch nicht in einem Array. Aber W-I-E?
Ich raff's net... :wall:

mkinzler 13. Nov 2007 19:56

Re: Arrays mit drei Dimensionen... nicht einfach -.-
 
Man gibt hier Tipps und Anstösse am laufenden Band. Doch du ignorierst diese einfach.

ArchaicSeraphim 13. Nov 2007 20:07

Re: Arrays mit drei Dimensionen... nicht einfach -.-
 
Hmm... Ich werde mal was dazu schreiben: Was ist ein Record? Sry, ich habe keine Ahnung. Hab' ich nie gelernt *schäm*

Und mit einem array of array geht das doch nicht, oder? Ich habe ja nicht alle Fälle abgedeckt. Ich brauche ja quasi so eine Tabelle:

Code:
Zustände Kellerzustände Eingaben  |   neue Zustände Kellerops
                                     
zB.      Das hier soll alles                        
          "Input" sein.                            
                                     |
A          s               1       |        B            push
            m               2       |        A            pop
            s               2       |        A            pop
            m               1       |        B            push
                                     |
                                     |
B          s               1       |        A            pop
            m               2       |        B            pop
            s               2       |        B            push
            m               1       |        A            push
                                     |
Klar soweit?

DeddyH 13. Nov 2007 20:10

Re: Arrays mit drei Dimensionen... nicht einfach -.-
 
Ein Record ist quasi eine Klasse ohne Methoden (man vergebe mir diese laxe Beschreibung).

mkinzler 13. Nov 2007 20:10

Re: Arrays mit drei Dimensionen... nicht einfach -.-
 
http://www.delphipraxis.net/internal...=805632#805632

ArchaicSeraphim 13. Nov 2007 20:12

Re: Arrays mit drei Dimensionen... nicht einfach -.-
 
Eine Klasse ohne Methoden? Also sowas wie... ein Memo, nur halt keine GUI? So in die Richtung?

€dit: Wie soll ich die Kellerzustände und -operationen denn getrennt speichern? Und wie kann ich sowas auslesen? oO

mkinzler 13. Nov 2007 20:14

Re: Arrays mit drei Dimensionen... nicht einfach -.-
 
Eine Record ist eine Struktur. Man nennt. Im Unterschied zum Array kann man hier verschiedene Typen mischen und adressiert nicht per Index sondern per Namen.

ArchaicSeraphim 13. Nov 2007 20:17

Re: Arrays mit drei Dimensionen... nicht einfach -.-
 
OK, aber weiterhin: Wie kann ich die Kelleroperationen aus dem Record auslesen und dann anwenden? Kann ich sagen "Keller.(Record.Kelleroperationen)" (Keller sei hierbei mein Kellerobjekt)? Geht sowas?

DeddyH 13. Nov 2007 20:17

Re: Arrays mit drei Dimensionen... nicht einfach -.-
 
Anders ausgedrückt: man verwendet einen Record, wenn man zusammenhängende Daten braucht, die sich aus Einzeldaten zusammensetzen.
Beispiel: eine Adresse
Delphi-Quellcode:
type TAdresse = record
  Name,
  Vorname,
  Strasse,
  Hausnummer,
  PLZ,
  Ort: string;
end;
(Das könnten auch verschiedene Datentypen sein und nicht nur String)
Wenn Du nun eine Variable vom Typ TAdresse definierst, kannst Du über die Punkt-Methode wie bei einer Klasse auf die einzelnen Felder zugreifen. Für mehr Infos schau mal in die Hilfe, ich bin zu faul für mehr Details ;)

[edit] end vergessen :oops: [/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 Uhr.
Seite 2 von 4     12 34      

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