1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Όςον αφορά ςτο υποπρόγραμμα με τον κινθματογράφο και τισ κρατιςεισ κζςεων:
Αρχικά όλεσ οι κζςεισ είναι κενζσ
Ξεκινάν οι κρατιςεισ από τθν 15 γραμμι, θ οποία κα γεμίηει μζχρι να φτάςουμε ςτισ τελευταίεσ κζςεισ τθσ όπου εκεί κα πρζπει να ελεγχκεί θ οριακι ςυνκικθ: τα ηθτοφμενα ειςιτιρια αν χωράνε ι όχι ςτισ κζςεισ που μζνουν. Αν χωράνε καλϊσ κάνω κράτθςθ, αν όχι ξεκινάω να κρατάω κζςεισ ςτθν από πάνω γραμμι… Έτςι αν οι κρατιςεισ μου είναι διαδοχικά: 4, 3, 4, 2, 4, 1, 4, 4, 3, 2 ο πίνακασ ΘΕΣΕΙΣ κα ‘χει διαμορφωκεί όπωσ φαίνεται παραπάνω Αυτό για να υλοποιθκεί κζλει φυςικά μια διπλι ΓΙΑ, όπου ςτθν εςωτερικι επανάλθψθ (με j να προςπελαφνει τισ κζςεισ τισ κάκε ςειράσ –ςτιλεσ του πίνακα-) εξετάηουμε κάκε φορά αν βριςκόμαςτε ςε ελεφκερθ κζςθ (ΘΕΣΕΙΣ*i,j]) . Αν είμαςτε ςε ελεφκερθ κζςθ τότε αρκεί να υπάρχουν ςτθν ςυνζχεια τόςεσ κζςεισ όςεσ και τα ειςιτιρια που ζχουν ηθτθκεί. Αν δθλαδι ο αρικμόσ των ειςιτθρίων που ζχουν ηθτθκεί για κράτθςθ είναι εισ τότε αρκεί j+εις-1<=30 Αν π.χ. το i=15 και j=27 και εις=3 ιςχφει ΘΕΣΕΙΣ*15,27+=0 και j+εις-1=29 μπορϊ να δεςμεφςω τισ κζςεισ ΘΕΣΕΙΣ*15,27+, ΘΕΣΕΙΣ*15,28], ΘΕΣΕΙΣ*15,29] (κόκκινθ κράτθςθ) Αν, ςτθ ςυνζχεια ζχω (επόμενθ κράτθςθ) εις=2 θ επόμενθ κενι κζςθ που βρίςκω είναι θ ΘΕΣΕΙΣ*15,30]=0, αλλά j+εις-1=31 που είναι εκτόσ ορίων του πίνακα… Όλα τα παραπάνω κα υλοποιθκοφν κάπωσ ζτςι… ΓΙΑ i ΑΠΟ 15 ΜΕΧΡΙ 1 ΜΕ ΒΗΜΑ -1 ΓΙΑ j ΑΠΟ 1 ΜΕΧΡΙ 30 ΑΝ ΘΕΕΙ[i, j]=0 ΣΟΣΕ ΑΝ βρέθηκε = ΨΕΤΔΗ ΚΑΙ j+εισ-1<=30 ΣΟΣΕ βρέθηκε <-- ΑΛΗΘΗ σειρά <-- i θέση <-- j ΣΕΛΟ_ΑΝ ΣΕΛΟ_ΑΝ ΣΕΛΟ_ΕΠΑΝΑΛΗΨΗ ΣΕΛΟ_ΕΠΑΝΑΛΗΨΗ