Παρασκευή, 21 Μαΐου 2010

Άσκηση : ταξινόμηση μιας γραμμής

Δίνεται αλφαριθμητικός πίνακας Β[167, 32]. Γράψτε αλγόριθμο
που με δεδομένο τον παραπάνω πίνακα:
α) διαβάζει μια ακέραια τιμή Γ τέτοια ώστε να είναι
    μεγαλύτερη ή ίση από το 1 και μικρότερη ή ίση από
    το 167,
β) ταξινομεί τα στοιχεία της γραμμής Γ του πίνακα Β,
    κατά αλφαβητική σειρά, και στη συνέχεια τα εμφα-
    νίζει στη μονάδα εξόδου.
Παρατήρηση : Ο αλγόριθμος πρέπει να διασφαλίζει την
εγκυρότητα του εισερχόμενου δεδομένου.

Λύση

     Αλγόριθμος  ΤαξΓΡ
     Δεδομένα // Β //
     Αρχή_επανάληψης
          Διάβασε Γ
     Μέχρις_ότου (Γ >= 1) ΚΑΙ (Γ <= 167)
     ! Μεταφορά των στοιχείων της Γ στον Δ[32]
     Για λ από 1 μέχρι 32
          Δ[λ] <-- Β[Γ, λ]
     Τέλος_επανάληψης
     Για λ από 2 μέχρι 32
         Για μ από 32 μέχρι λ με_βήμα -1
               Αν Δ[μ-1] > Δ[μ] τότε
                     Βοηθ <-- Δ[μ-1]
                     Δ[μ-1] <-- Δ[μ]
                     Δ[μ] <-- Βοηθ
               Τέλος_αν
         Τέλος_επανάληψης
     Τέλος_επανάληψης
     ! Μεταφορά των στοιχείων του Δ στη γραμμή Γ
     Για λ από 1 μέχρι 32
          Β[Γ, λ] <-- Δ[λ]
     Τέλος_επανάληψης
     Για λ από 1 μέχρι 32
          Γράψε Β[Γ, λ] 
     Τέλος_επανάληψης
     Τέλος ΤαξΓΡ

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου