Hallo leute ,
ich brauche dringend hilfe bitte bitte helft mir
Implementieren Sie einen dynamischen Stack mit Hilfe von Arrays. Der Stack soll Elemente des
Datentyps „char“ ablegen können. Implementieren Sie hierzu eine Funktionen
Push
die einen
Buchstaben des Typs char auf den Stack (Stapel) legt und eine Funktion
Pop
, die einen
Buchstaben vom Stack entfernt.
Tipp:
Ein Stack-Pointer zeigt immer auf die aktuell zu schreibende Position des Stack-
Speichers. Dieser Stack-Pointer muss von allen Stack-Funktionen aus zugreifbar sein.
Push
legt ein Objekt auf den Stack
Pop
entfernt das oberste Objekt und gibt es
zurück
A
U F G AB E
2
Schreiben Sie ein Programm, welches einen beliebigen Ausdruck von der Konsole einliest und
auf die semantische Korrektheit der Klammern überprüft. Nutzen sie dazu den Stack den sie in
Aufgabe 1 implementiert haben.
Beispiele für richtig gesetzte Klammern:
•
()[]()
•
{while(true){print(arg[5]);}}
•
[(n+1)*5]+(7-1)
– Seite
1
von
2
–
GDI
Studiengang:
Informatik
Beispiele für falsch gesetzte Klammern:
•
(a[b(c]d)e)
•
(5
ich brauche dringend hilfe bitte bitte helft mir
Implementieren Sie einen dynamischen Stack mit Hilfe von Arrays. Der Stack soll Elemente des
Datentyps „char“ ablegen können. Implementieren Sie hierzu eine Funktionen
Push
die einen
Buchstaben des Typs char auf den Stack (Stapel) legt und eine Funktion
Pop
, die einen
Buchstaben vom Stack entfernt.
Tipp:
Ein Stack-Pointer zeigt immer auf die aktuell zu schreibende Position des Stack-
Speichers. Dieser Stack-Pointer muss von allen Stack-Funktionen aus zugreifbar sein.
Push
legt ein Objekt auf den Stack
Pop
entfernt das oberste Objekt und gibt es
zurück
A
U F G AB E
2
Schreiben Sie ein Programm, welches einen beliebigen Ausdruck von der Konsole einliest und
auf die semantische Korrektheit der Klammern überprüft. Nutzen sie dazu den Stack den sie in
Aufgabe 1 implementiert haben.
Beispiele für richtig gesetzte Klammern:
•
()[]()
•
{while(true){print(arg[5]);}}
•
[(n+1)*5]+(7-1)
– Seite
1
von
2
–
GDI
Studiengang:
Informatik
Beispiele für falsch gesetzte Klammern:
•
(a[b(c]d)e)
•
(5