Άσκηση με ολίσθηση

Ξεκίνησε από semaphore, 05 Μαΐου 2022, 12:06:58 ΜΜ

« προηγούμενο - επόμενο »

semaphore

Καλησπέρα. Παραθέτω μία άσκηση με ολίσθηση στοιχείων πίνακα κατά περίπτωση. Κάθε διόρθωση και σχόλιο είναι καλοδεχούμενα. Καλή συνέχεια.

Να γραφεί πρόγραμμα σε ΓΛΩΣΣΑ που θα διαβάζει τα στοιχεία ενός μονοδιάστατου πίνακα Α[100] σε αύξουσα διάταξη με τον ακολουθώντας την παρακάτω περιγραφή: Το στοιχείο που θα εισάγεται από το χρήστη θα πρέπει να ελέγχεται σε ποια θέση πρέπει να εισαχθεί. Αν πρέπει να εισαχθεί σε θέση που υπάρχει ήδη κάποιο στοιχείο , τότε θα πρέπει να γίνει ολίσθηση των στοιχείων από τη θέση που θα πρέπει να εισαχθεί , προς τα κάτω και στη συνέχεια θα εισαχθεί το στοιχείο στην σωστή θέση , αλλιώς εισάγεται στην τελευταία θέση του πίνακα.
Παρατήρηση: κάθε στοιχείο που θα διαβάζεται , θα πρέπει να τοποθετείται στον πίνακα και να μη διαβάζεται εκ νέου στοιχείο.


ΑΡΧΗ
  ΔΙΑΒΑΣΕ Α[1] 
  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΔΙΑΒΑΣΕ Α[2] 
  ΜΕΧΡΙΣ_ΟΤΟΥ Α[2] > Α[1] 
  ΓΙΑ Ι ΑΠΟ 3 ΜΕΧΡΙ 100
    ΔΙΑΒΑΣΕ Χ
    Κ <- 1
    ΦΛΑΓΚ <- ΨΕΥΔΗΣ
    ΘΕΣΗ <- 0
    ΟΣΟ Κ <= Ι - 1 ΚΑΙ ΦΛΑΓΚ = ΨΕΥΔΗΣ ΕΠΑΝΑΛΑΒΕ
      ΑΝ Χ < Α[Κ] ΤΟΤΕ
        ΦΛΑΓΚ <- ΑΛΗΘΗΣ
        ΘΕΣΗ <- Κ
      ΤΕΛΟΣ_ΑΝ
      Κ <- Κ + 1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    ΑΝ ΦΛΑΓΚ = ΑΛΗΘΗΣ ΤΟΤΕ
      ΓΡΑΨΕ ΘΕΣΗ
      ΓΙΑ Ξ ΑΠΟ Ι ΜΕΧΡΙ ΘΕΣΗ + 1 ΜΕ_ΒΗΜΑ -1
        Α[Ξ] <- Α[Ξ - 1] 
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
      Α[ΘΕΣΗ] <- Χ
    ΑΛΛΙΩΣ
      Α[Ι] <- Χ
    ΤΕΛΟΣ_ΑΝ
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ