Καλησπέρα. Παραθέτω μία άσκηση με ολίσθηση στοιχείων πίνακα κατά περίπτωση. Κάθε διόρθωση και σχόλιο είναι καλοδεχούμενα. Καλή συνέχεια.
Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ που θα διαβάζει τα στοιχεία ενός μονοδιάστατου πίνακα Α[100] σε αύξουσα διάταξη με τον ακολουθώντας την παρακάτω περιγραφή: Το στοιχείο που θα εισάγεται από το χρήστη θα πρέπει να ελέγχεται σε ποια θέση πρέπει να εισαχθεί. Αν πρέπει να εισαχθεί σε θέση που υπάρχει ήδη κάποιο στοιχείο , τότε θα πρέπει να γίνει ολίσθηση των στοιχείων από τη θέση που θα πρέπει να εισαχθεί , προς τα κάτω και στη συνέχεια θα εισαχθεί το στοιχείο στην σωστή θέση , αλλιώς εισάγεται στην τελευταία θέση του πίνακα.
Παρατήρηση: κάθε στοιχείο που θα διαβάζεται , θα πρέπει να τοποθετείται στον πίνακα και να μη διαβάζεται εκ νέου στοιχείο.
ΑΡΧΗ
ΔΙΑΒΑΣΕ Α[1]
ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
ΔΙΑΒΑΣΕ Α[2]
ΜΕΧΡΙΣ_ΟΤΟΥ Α[2] > Α[1]
ΓΙΑ Ι ΑΠΟ 3 ΜΕΧΡΙ 100
ΔΙΑΒΑΣΕ Χ
Κ <- 1
ΦΛΑΓΚ <- ΨΕΥΔΗΣ
ΘΕΣΗ <- 0
ΟΣΟ Κ <= Ι - 1 ΚΑΙ ΦΛΑΓΚ = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
ΑΝ Χ < Α[Κ] ΤΟΤΕ
ΦΛΑΓΚ <- ΑΛΗΘΗΣ
ΘΕΣΗ <- Κ
ΤΕΛΟΣ_ΑΝ
Κ <- Κ + 1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΝ ΦΛΑΓΚ = ΑΛΗΘΗΣ ΤΟΤΕ
ΓΡΑΨΕ ΘΕΣΗ
ΓΙΑ Ξ ΑΠΟ Ι ΜΕΧΡΙ ΘΕΣΗ + 1 ΜΕ_ΒΗΜΑ -1
Α[Ξ] <- Α[Ξ - 1]
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Α[ΘΕΣΗ] <- Χ
ΑΛΛΙΩΣ
Α[Ι] <- Χ
ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ