Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich habe eine Datei, die ich sequenziell einlesen will

--> Inhalt:

test.txt

-----------

A

Inhalt

Inhalt

Inhalt

A

Inhalt

Inhalt

A

Inhalt

Inhalt

Inhalt

A

...etc...

Das heisst, ich will einen Gruppenwechsel ("A") programmieren:

Lösung:

Pseudocode:

#Gruppenwehchsel = "A"

(R1)Read (File) #zeile until eof

*

if #zeile = gruppenwechsel an not 1.satz

goto (R1)

end if

*

call zeilen-intabelle-speichern

*

if #zeile = gruppenwechsel and 1.satz

call tabelle ausgeben

else

1.satz = true

end if

*

end-read

*

// letzen Satz nachlesen

*

if 1.Satz // Datei ist nicht leer

call tabelle ausgeben

end if

Ich möchte das Ganze möglichst in eine rekursive Funktion packen, habe vor längerer Zeit schon mal einen Standard hierfür gefunden, aber ...:-).

Die Funktion soll eine variable Anzahl an Gruppenwechseln beinhalten.

Wichtig hierbei ist, dass auch der erste und letzte Satz richtig verarbeitet wird.

Ich habe schon mal etwas bei normierter Programmierung gefunden.

Kann mir jemand eine Lösung geben, die beliebig viele Gruppenwechsel unterstützt?

Grüße

Patrick

Geschrieben
Die Funktion soll eine variable Anzahl an Gruppenwechseln beinhalten.
Eine variable Anzahl sollte doch kein Problem sein. Oder meinst du eine variable (also vorher nicht bekannte) Verschachtelungstiefe? Das gibt deine Datei aber gar nicht her, da gibt es nur eine Stufe.
Geschrieben

ja genau, es kann ja mal sein dass ich die Funktion für eine Datei hernehmen will, in der ein zwei oder dreistufiger gruppenwechsel ist...., sprich ich baue eine routine in der die ganzen gruppenkriterien abgefragt werden bevor ich die Einzelverarbeitung starte...die Frage ist eben nur: wie :-)

Geschrieben

Merk dir die Kriterien (Name und Wert) in einer dynamischen Datenstruktur, z.B. vector. Zusätzlich merkst du dir in einer int-Variablen die "Tiefe" der aktuellen Zeile. Du musst wissen, welchem Kriteriennamen (oder welcher Tiefe) die "Blätter" des Baums (also die tiefsten Einträge) zugeordnet sind.

Bei jeder eingelesen Zeile entscheidest du dann anhand des Kriteriennamen, ob es ein Schritt nach innen (++tiefe) oder außen (--tiefe) oder nur ein neuer Wert für die aktuelle Tiefe, oder Daten für die Einzelverarbeitung sind (siehe oben).

Rekursion würde ich da nicht benutzen.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...