Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Γ΄ Λυκείου => Πολυδιάστατοι πίνακες => Μήνυμα ξεκίνησε από: denia_k στις 29 Ιαν 2013, 02:08:14 μμ

Τίτλος: Απορία σε άσκηση συγχώνευσης
Αποστολή από: denia_k στις 29 Ιαν 2013, 02:08:14 μμ
Η Τρίτη Λυκείου ενός σχολείου αποτελείταπο από 2 τμήματα 25 και 30 μαθητών αντίστοιχα.Να γράψετε αλγόριθμο ο οποίος να διαβάζει για κάθε τμήμα το όνομα των μαθητών του και τον βαθμό απολυτηρίων τους και να τα καταχωρίζει σε μονοδιάστατους πίνακες ΌνομαΑ και ΌνομαΒ για τα ονόματα του ά και β΄τμήματος και ΒαθμόςΑ και ΒαθμόςΒ για τους βαθμούς των μαθητών του πρώτου και δεύτερου τμήματος αντίστοιχα. Αν θεωρήσουμε ότι τα στοιχεία των μαθητών κάθε τάξης δόθηκαν από τον καλύτερο μαθητή στο χειρότερο, ο αλγόριθμος να εμφανίζει τους δέκα καλύτερους μαθητές και από τα δύο τμήματα.

Η απορία μου αφορά το τελευταίο ερώτημα. Στον αλγόριθμο συγχώνευσης που θα χρησιμοποιήσουμε, επειδή πρόκειται για φθίνουσα ταξινόμηση (από τον καλύτερο μαθητή στο χειρότερο) δεν πρέπει το σύμβολο που θα χρησιμοποιηθεί στις συγκρίσεις να είναι το >;;; Γιατί στη λύση της άσκησης, συγκρίνει τους δύο πίνακες των βαθμών, εξετάζει αν ένα στοιχείο είναι μικρότερο από το άλλο (<) και στη συνέχεια τους καταχωρεί στον συγχωνευμένο πίνακα.
Τίτλος: Απ: Απορία σε άσκηση συγχώνευσης
Αποστολή από: gthal στις 29 Ιαν 2013, 02:55:54 μμ
Αν θες, γράψε το τμήμα της λύσης που σε μπερδεύει για να το δουμε
Τίτλος: Απ: Απορία σε άσκηση συγχώνευσης
Αποστολή από: denia_k στις 29 Ιαν 2013, 03:33:50 μμ
i<--1
j<--1
κ<--1
όσο (i<=25) και (j<=30) επανάλαβε
        αν Β1<Β2[j] τότε ! εδώ νομίζω ότι χρειάζεται >
               Βολ[κ]<-- Β1
               Ονολ[κ]<-- Ον1[j]
               i<--i+1
Τίτλος: Απ: Απορία σε άσκηση συγχώνευσης
Αποστολή από: denia_k στις 29 Ιαν 2013, 10:40:01 μμ
Κάποια απάντηση;;;;
Τίτλος: Απ: Απορία σε άσκηση συγχώνευσης
Αποστολή από: noname στις 30 Ιαν 2013, 12:22:33 πμ
Αν το ζητούμενο είναι μόνο να εμφανιστούν οι 10 καλύτεροι δεν είναι απαραίτητη η συγχώνευση. Μπορείς να συγκρίνεις τα στοιχεία των Β1 και Β2 -με διαφορετικό δείκτη στον καθένα- και να χρησιμοποιήσεις έναν μετρητή. Όταν ο μετρητής θα έχει μετρήσει 10 θα σταματάει.
Από την εκφώνηση που δίνεις φαίνεται να έχεις δίκιο για τον συγκριτικό τελεστή. Ο μεγαλύτερος βαθμός θα πρέπει να καταχωρίζεται πρώτα στον συγχωνευμένο πίνακα.
Τίτλος: Απ: Απορία σε άσκηση συγχώνευσης
Αποστολή από: gthal στις 30 Ιαν 2013, 02:28:49 πμ
Ναι, δίκιο έχεις.
Θα έπρεπε να είναι > ή >=
Τίτλος: Απ: Απορία σε άσκηση συγχώνευσης
Αποστολή από: odysseas στις 30 Ιαν 2013, 08:56:59 πμ
Αν το ζητούμενο είναι μόνο να εμφανιστούν οι 10 καλύτεροι δεν είναι απαραίτητη η συγχώνευση. Μπορείς να συγκρίνεις τα στοιχεία των Β1 και Β2 -με διαφορετικό δείκτη στον καθένα- και να χρησιμοποιήσεις έναν μετρητή. Όταν ο μετρητής θα έχει μετρήσει 10 θα σταματάει.

Αυτό που περιγράφεις συγχώνευση είναι, απλά σταματά πριν εξαντληθούν οι πίνακες, όταν κ>10.
Τίτλος: Απ: Απορία σε άσκηση συγχώνευσης
Αποστολή από: noname στις 30 Ιαν 2013, 09:07:09 πμ
Έγραψα ότι δεν είναι συγχώνευση με την έννοια του ότι αν ζητά μόνο εμφάνιση στοιχείων τότε δεν είναι απαραίτητη η συνένωση των δύο πινάκων σε έναν τρίτο. Προφανώς αλγοριθμικά η διαδικασία είναι η ίδια εκτός της αποθήκευσης στοιχείων σε τρίτο πίνακα.
Τίτλος: Απ: Απορία σε άσκηση συγχώνευσης
Αποστολή από: odysseas στις 30 Ιαν 2013, 09:28:00 πμ
Έγραψα ότι δεν είναι συγχώνευση με την έννοια του ότι αν ζητά μόνο εμφάνιση στοιχείων τότε δεν είναι απαραίτητη η συνένωση των δύο πινάκων σε έναν τρίτο.

Κατάλαβα, σωστό. Δεν είχα προσέξει την αρχική διατύπωση, είδα μόνο οτι στη λύση χρησιμοποιεί τρίτο πίνακα.
Τίτλος: Απ: Απορία σε άσκηση συγχώνευσης
Αποστολή από: denia_k στις 30 Ιαν 2013, 09:42:22 μμ
Ευχαριστώ πολύ!
Τίτλος: Απ: Απορία σε άσκηση συγχώνευσης
Αποστολή από: mokasa στις 03 Φεβ 2013, 11:10:26 πμ
Τρεις παρατηρήσεις, αν κάνω λάθος παρακαλώ διορθώστε με :
α) Θέλει λίγη προσοχή στην περίπτωση ισοβαθμίας του 10ου με τον 11ο, 12ο, ... μαθητή. Η εκφώνηση δεν διευκρινίζει τι πρέπει να γίνει, φαντάζομαι όμως οτι πρέπει να συνεχίζει, ίσως και με αλφαβητική παράθεση των ονομάτων.
β) Σαν εναλλακτική (αλλά όχι αποδοτική λύση βέβαια) θα μπορούσαμε να ενώσουμε τους πίνακες και μετά να κάνουμε παράλληλη ταξινόμηση βαθμών και ονομάτων, με επιπλέον κριτήριο την αλφαβητική σειρά σε περίπτωση ισοβαθμίας, θα είναι πιο εύκολη και δίκαιη η τελική παρουσίαση των ονομάτων των μαθητών.
γ) Το θέμα δεν πρέπει να είναι στους πολυδιάστατους πινακες αλλά στους μονοδιάστατους (το λέω γιατί έφαγα ώρα να το ψάχνω εκεί).