AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Arrays mit drei Dimensionen... nicht einfach -.-
Thema durchsuchen
Ansicht
Themen-Optionen

Arrays mit drei Dimensionen... nicht einfach -.-

Ein Thema von ArchaicSeraphim · begonnen am 13. Nov 2007 · letzter Beitrag vom 17. Nov 2007
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
ArchaicSeraphim

Registriert seit: 11. Nov 2007
Ort: Niedernhausen
31 Beiträge
 
Delphi 7 Personal
 
#1

Arrays mit drei Dimensionen... nicht einfach -.-

  Alt 13. Nov 2007, 20:29
Hi Leutz,

Ich habe ja in der vergangenen Zeit viele Fragen zu arrays bzw. Automaten gestellt... ^^ Hier kommt die wahrscheinlich letzte: Wie kann ich drei Variablen in einem dynamischen Array speichern? Ich brauche ja die Zustände, den Kellerzustand und die Eingabe. Und dann muss dieses Array auch zwei Sachen ausgeben: Neuer Zustand und Kelleroperation.

Bsp.: Wenn ich überprüfen lassen will, ob ein eingegebener Term dem Muster A^n*B^n entspricht, kann ich Zeichen für Zeichen vorgehen und habe dann die vier Zustände zS (Start- und Zielzustand), zA (mehr As als Bs), zB (mehr Bs als As) und zF (Fehlerzustand, aus dem man nie wieder raus kommt). Das Problem ist aber, dass ich jeden dieser Zustände noch aufteilen muss, je nachdem, ob in meinem Stack/Keller schon eine Marke, die Startmarke oder nichts liegt. Und wie gesagt müsste die Ausgabe ja auch beinhalten a) den neuen Zustand und b) die Kelleroperation -push, pop oder nop - z.B. wenn ein A kommt, ich im Zustand zB bin und nur eine Marke auf dem Stack liegt: zS|pop.

Wie kann ich sowas machen? Ich krieg's einfach nicht in mein Hirn. Ohne den Keller wäre das einfacher, dann könnte man einfach ein Array array[Zustand, Eingabe] of NeuerZustand machen. Das wäre quasi die Automatentabelle.
Kann mir einer helfen, das auch mit drei Dimensionen zu schaffen? pls?

Danke schon mal, falls das ginge *unterwürfig*

[edit=Jelly]
Es geht um diesen Keller
Nächstes Mal bitte selbst editieren...
Mfg, Jelly[/edit]
In diesem Sinne,

Arc
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

Registriert seit: 31. Aug 2005
Ort: Dortmund, Germany
388 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: Arrays mit drei Dimensionen... nicht einfach -.-

  Alt 13. Nov 2007, 20:30
Hi,
was hälst du denn von einem Array mit einem Record?

Delphi-Quellcode:
TElement = record
  variable1: String;
  variable2: Integer;
end;

var
  arr: array of TElement;
Chris

EDIT: Ich glaube, ich hab' dich falsch verstanden... Wie wäre es, wenn du zu dem Thread mit der "Keller-Frage" verlinkst?
Chris
» «
Mehr von mir (Programme, etc.): http://www.kroegerama.de
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Arrays mit drei Dimensionen... nicht einfach -.-

  Alt 13. Nov 2007, 20:33
Dafür würde ich einen Record deklarieren.
Mehrdimensional Array kann man aber leicht anlegen:

   myarray: Array of array of String; oder
Delphi-Quellcode:
type
   sarray = Array of string;
...
var
   myarray: Array of sarray;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Arrays mit drei Dimensionen... nicht einfach -.-

  Alt 13. Nov 2007, 20:34
Keller
Stack
Marke



Nix comprende, compadre

EDIT: Verlinke bitte in deinem ersten Beitrag auf den anderen Keller Thread... So blickt ja kein Mensch durch worums geht.
  Mit Zitat antworten Zitat
ArchaicSeraphim

Registriert seit: 11. Nov 2007
Ort: Niedernhausen
31 Beiträge
 
Delphi 7 Personal
 
#5

Re: Arrays mit drei Dimensionen... nicht einfach -.-

  Alt 13. Nov 2007, 20:36
Link hier.

Aber ich brauche ja quasi drei Dimensionen. array of array wäre doch nur 'ne Tabelle, oder?
In diesem Sinne,

Arc
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

Registriert seit: 31. Aug 2005
Ort: Dortmund, Germany
388 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: Arrays mit drei Dimensionen... nicht einfach -.-

  Alt 13. Nov 2007, 20:37
Und Array of Array of Array wäre eine 3D-Matrix

Aber ich hab' dein Problem immer noch nicht verstanden...

Chris
Chris
» «
Mehr von mir (Programme, etc.): http://www.kroegerama.de
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Arrays mit drei Dimensionen... nicht einfach -.-

  Alt 13. Nov 2007, 20:38
Überleg dir das noch mal mit dem Record.
myarray: array of array of array of string;
Markus Kinzler
  Mit Zitat antworten Zitat
ArchaicSeraphim

Registriert seit: 11. Nov 2007
Ort: Niedernhausen
31 Beiträge
 
Delphi 7 Personal
 
#8

Re: Arrays mit drei Dimensionen... nicht einfach -.-

  Alt 13. Nov 2007, 20:39
Naja, ich muss wissen, in welchem Zustand der Automat sich befindet, welchen Kellerzustand der Keller hat, und welche Eingabe getätigt wurde, um den Neuen Zustand und die Kelleroperation festlegen zu können. Inhaltlich musstes ja gar nicht verstehen, nur wie progge ich mir das zusammen?

Hlp pls!
In diesem Sinne,

Arc
  Mit Zitat antworten Zitat
Benutzerbild von CK_CK
CK_CK

Registriert seit: 31. Aug 2005
Ort: Dortmund, Germany
388 Beiträge
 
Delphi 2006 Enterprise
 
#9

Re: Arrays mit drei Dimensionen... nicht einfach -.-

  Alt 13. Nov 2007, 20:41
Wie gesagt, mit einem Record:
Delphi-Quellcode:
TKeller = record
  Zustand: Integer;
  Kellerzustand: Integer;
  Eingabe: String;
end;
...
var
  Kellerelemente: array of TKeller
Chris
Chris
» «
Mehr von mir (Programme, etc.): http://www.kroegerama.de
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Arrays mit drei Dimensionen... nicht einfach -.-

  Alt 13. Nov 2007, 20:42
Einen Stack (Keller) implementiert man besser mit einer Liste. Brauchst du den Zustand an einer bestimmten Position der Liste oder nur den aktuellen?
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 05:00 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