Τετάρτη 12 Ιανουαρίου 2011

Άσκηση : ταξινόμηση γραμμών δυσδιάστατου πίνακα

Θεωρείστε τον πίνακα Βαθμ[28, 6] που περιέχει τους
βαθμούς που έγραψαν οι 28 μαθητές της Γ' τάξης ενός
γενικού λυκείου στα 6 πανελλαδικώς εξεταζόμενα
μαθήματα. Γράψτε αλγόριθμο που με δεδομένο τον
παραπάνω πίνακα, εμφανίζει τους τρεις καλύτερους
βαθμούς επίδοσης για κάθε μαθητή ξεχωριστά.

Λύση

     Αλγόριθμος Μαθητές
     Δεδομένα // Βαθμ //
     Για Μαθητής από 1 μέχρι 28
         ! αντιγράφω τη γραμμή Μαθητής στον Α[6]
         Για κ από 1 μέχρι 6
              Α[κ] <-- Βαθμ[Μαθητής, κ]
         Τέλος_επανάληψης
         ! Ταξινομώ τον Α κατά φθίνουσα σειρά
         Για κ από 2 μέχρι 6
              Για λ από 6 μέχρι κ με_βήμα -1
                    Αν Α[λ-1] < Α[λ] τότε
                        Βοηθ <-- Α[λ-1]
                        Α[λ-1] <-- Α[λ]
                        Α[λ] <-- Βοηθ
                    Τέλος_αν
              Τέλος_επανάληψης
         Τέλος_επανάληψης
         ! Εμφανίζω τα τρια πρώτα στοιχεία του Α
         Για κ από 1 μέχρι 3
              Εμφάνισε Α[κ]
         Τέλος_επανάληψης
     Τέλος_επανάληψης
     Τέλος Μαθητές

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

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