Τετάρτη, 19 Μαΐου 2010

Άσκηση : Ταξινόμηση με διπλό κριτήριο

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

Απάντηση

      Αλγόριθμος ΤΑΞ
      Δεδομένα // Β, Υ //
      Για μ από 2 μέχρι 28
          Για ν από 28 μέχρι μ με_βήμα -1
               Αν Υ[ν-1] < Υ[ν] τότε
                    Τ1 <-- Β[ν-1]
                    Β[ν-1] <-- Β[ν]
                    Β[ν] <-- Τ1
                    Τ2 <-- Υ[ν-1]
                    Υ[ν-1] <-- Υ[ν]
                    Υ[ν] <-- Τ2
               αλλιώς
                     Αν (Υ[ν-1] = Υ[ν]) ΚΑΙ (Β[ν-1] > Β[ν]) τότε
                           Τ1 <-- Β[ν-1]
                           Β[ν-1] <-- Β[ν]
                           Β[ν] <-- Τ1
                     Τέλος_αν
               Τέλος_αν
          Τέλος_επανάληψης
      Τέλος_επανάληψης
      Για μ από 1 μέχρι 28
           Γράψε Β[μ], Υ[μ]
      Τέλος_επανάληψης
      Τέλος ΤΑΞ

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

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