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.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...