Γενικό Λύκειο > Τμηματικός προγραμματισμός

Άσκηση 9, σελ. 120, οδηγίες μελέτη μαθητή

<< < (2/4) > >>

bugman:
Αν η διαγραφή γίνεται με ολίσθηση γραμμών, τότε και η εισαγωγή να γίνεται με τον ίδιο τρόπο. Έτσι δεν χρειάζεται αλγόριθμος ταξινόμησης όπως της φυσαλίδας. Κάθε φορά έχουμε ταξινομημένο πίνακα και μια νέα εισαγωγή. Αναζητούμε τη θέση της νέας γραμμές με σειριακό τρόπο (η με δυαδική αναζήτηση, αλλά είναι δύσκολο να γραφτεί), και κάνουμε ολίσθηση για να παρεμβληθεί η νέα εισαγωγή.

eleniletta:
Εννοώ την περίπτωση όπου δοθεί διάστημα ημερομηνιών π.χ. 20-4 έως 5-5. Εδώ δεν είναι λανθασμένη η περίπτωση η2<η1 για να γίνει η αντιμετάθεση

Ευχαριστώ

akalest0s:
Η αντιμετάθεση της ταξινόμησης, θα γίνει σε στυλ
"Αν μήνας1 > μήνας2 Τότε
   αντιμετάθεσε
Αλλιώς_Αν μήνας1 = μήνας2 Τότε
   ΑΝ ημέρα1 > ημέρα2 Τότε
        αντιμετάθεσε"

Δηλαδή ασχολείσαι με τις ημέρες, αφού πρώτα έχεις ασχοληθεί με τους μήνες, και εφόσον έτυχε ίδιος μήνας σε δύο ημερομηνίες.
Δεν σε ενδιαφέρει το η2<η1, παρά μόνο αν μήνας2=μήνας1.

eleniletta:
Ευχαριστώ συνάδελφε, τελικά δηλαδή αν μια δοθείσα ημερομηνία είναι φαινομενικά σωστή, εμείς τις αντιμεταθέτουμε σε λανθασμένη για να τηρείται το η1<η2.

Ευχαριστώ και πάλι

akalest0s:
Δεν είμαι σίγουρος τι εννοείς "φαινομενικά σωστή και λάθος" ημερομηνία.
Οι μήνες και οι ημέρες αποθηκεύονται σε παράλληλους πίνακες. Αυτό σημαίνει, ότι για κάθε ι, τα περιεχόμενα Μ[ι] και H[ι] σου δίνουν τον μήνα και την ημέρα, κάθε ημερομηνίας που έδωσε ο χρήστης. Θέλει προσοχή πως διαβάζεις τους πίνακες, να γίνει σωστά η εισαγωγή. Σε αυτό το σημείο (του ποια μορφή έχει η ημερομηνία που εισάγει ο χρήστης) η εκφώνηση είναι ασαφής, όπως μπορείς να διαπιστώσεις από τις παλιότερες κουβέντες.

Από εκεί και πέρα, με τη λογική που έγραψα στο προηγούμενο μήνυμα, κάνεις αντιμετάθεση σε κάθε πίνακα, κάθε φορά που χρειάζεται, για όσο ταξινομείς.
Με αυτό το τρόπο, δεν χαλάνε μεταξύ τους οι ημέρες με τους μήνες, αλλά διατηρείται η παραλληλία των πινάκων, δηλαδή εξακολουθεί να έχεις την ημέρα και μήνα, όπως δόθηκαν από το χρήστη, στο ίδιο ι.

Ελπίζω μάλλον να βοήθησα παρά να σε μπέρδεψα χειρότερα.  :angel: Είναι μια τυπική περίπτωση ταξινόμησης σε παράλληλους πίνακες, όπου λαμβάνουμε υπόψιν την περίπτωση "ισοβαθμίας" στον πίνακα βάσει του οποίου ταξινομούμε. Δες και τη λύση στις λύσεις του Παναγιώτη, που παρέθεσα νωρίτερα ("πρόγραμμα δαπάνες").

Πλοήγηση

[0] Λίστα μηνυμάτων

[#] Επόμενη σελίδα

[*] Προηγούμενη σελίδα

Μετάβαση στην πλήρη έκδοση