Α) Να γραφεί πρόγραμμα, το οποίο να δέχεται από το χρήστη μια ακολουθία χαρακτήρων, έναν-έναν χαρακτήρα κάθε φορά. Το πρόγραμμα θα χειρίζεται τα δεδομένα με μία στοίβα 8 θέσεων. Η εισαγωγή δεδομένων θα τερματίζει, μόλις ο χρήστης εισάγει τον κενό χαρακτήρα " ". Αν ο χαρακτήρας που εισάγεται είναι ο " * ", να πραγματοποιεί μία απώθηση (pop) στη στοίβα, ενώ αν είναι οποιοσδήποτε άλλος, να πραγματοποιεί μια ώθηση (push) στη στοίβα, για αυτόν τον χαρακτήρα.
Β) Να σχεδιάσετε την στοίβα και τα περιεχόμενά της:
-πριν γίνει οποιαδήποτε λειτουργία της,
-μετά από την 10η κατά σειρά, λειτουργία της,
-στο τέλος της εισαγωγής δεδομένων,
αν για είσοδο ο χρήστης εισάγει την εξής ακολουθία χαρακτήρων:
LA*STI*N*FIR*ST**OU*T*******
Σημείωση: δεν απαιτείται κανένας έλεγχος εγκυρότητας τιμών (θεωρούμε ότι ο χρήστης εισάγει έναν-έναν, αναμενόμενους χαρακτήρες κάθε φορά).
Επίσης, φροντίστε ώστε το πρόγραμμα να εμφανίζει σε κάθε περίπτωση κατάλληλα μηνύματα: αν πραγματοποιήθηκε μια λειτουργία ή όχι, και αν ναι, σε ποια θέση της στοίβας. Τι αναμένετε ότι πρέπει να ισχύει στα μηνύματα που θα λαμβάνετε, όταν τρέξετε το πρόγραμμα;
(Εμπνεύστηκα την άσκηση από την συνημμένη εικόνα, στο βιβλίο "Αλγόριθμοι σε C", R. Sedgewick.)