Τώρα είναι Πέμ 28 Μαρ 2024 03:56 pm

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]




Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 2 Δημοσιεύσεις ] 
Συγγραφέας Μήνυμα
ΔημοσίευσηΔημοσιεύτηκε: Δευτ 26 Μάιος 2008 12:06 am 
Χωρίς σύνδεση

Εγγραφή: Σάβ 24 Μάιος 2008 04:51 pm
Δημοσιεύσεις: 1
ΜΗΠΩΣ ΞΕΡΕΤΕ ΤΟΝ ΠΑΡΑΚΑΤΩ ΑΛΓΟΡΙΘΜΟ??

ΠΟΥ ΣΕ ΕΝΑΝ ΠΙΝΑΚΑ ΝΑ ΕΝΤΩΠΙΖΕΙ ΤΟΝ ΔΕΥΤΕΡΟ ΜΕΓΑΛΥΤΕΡΟ Ή ΤΟΝ ΔΕΥΤΕΡΟ ΜΙΚΡΟΤΕΡΟ ΑΡΙΘΜΟ!

ΕΓΩ ΤΟ ΕΛΥΣΑ ΑΛΛΑ ΔΕΝ ΞΕΡΩ ΝΑ ΒΡΩ ΤΟΝ ΔΕΥΤΕΡΟ ΜΕΓΑΛΥΤΕΡΟ. ΒΡΙΣΚΩ ΜΟΝΟ ΤΟΝ ΠΡΩΤΟ ΜΕΓΑΛΥΤΕΡΟ.ΕΝΩ ΠΡΕΠΕΙ ΚΑΤΕΥΘΕΙΑΝ ΟΤΑΝ ΤΟ ΤΡΕΧΩ ΤΟ ΠΡΟΓΡΑΜΜΑ ΝΑ ΜΟΥ ΔΙΝΕΙ ΤΟΝ ΔΕΥΤΕΡΟ ΜΕΓΑΛΥΤΕΡΟ ΑΡΙΘΜΟ


ΛΥΣΗ (ΕΒΑΛΑ ΟΤΙ Ο ΠΙΝΑΚΑΣ ΕΙΝΑΙ ΜΟΝΟΔΙΑΣΤΑΤΟΣ)


ΑΛΓΟΡΙΘΜΟΣ

ΕΥΡΕΣΗ_ΔΕΥΤΕΡΟΥ_ΜΕΓΑΛΥΤΕΡΟΥ


ΔΕΔΟΜΕΝΑ // Ν,Α //

ΜΕΓΙΣΤΟΣ<------ Α[1]

ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ Ν

ΑΝ ΜΕΓΙΣΤΟΣ<Α[i]

ΤΟΤΕ

ΜΕΓΙΣΤΟΣ<-----Α[i]

ΤΕΛΟΣ_ΑΝ

ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

ΑΠΟΤΕΛΕΣΜΑ // ΜΕΓΙΣΤΟΣ //

ΤΕΛΟΣ ΕΥΡΕΣΗ_ΔΕΥΤΕΡΟΥ_ΜΕΓΑΛΥΤΕΡΟΥ




ΕΙΠΑ ΕΣΤΩ ΟΤΙ ΤΟ ΠΡΩΤΟ ΣΤΟΙΧΕΙΟ ΤΟΥ ΠΙΝΑΚΑ ΕΙΝΑΙ ΤΟ ΜΕΓΙΣΤΟ

ΤΟΤΕ ΝΑ ΚΑΝΕΙ ΣΥΓΚΡΙΣΗ ΤΟΥ ΥΠΟΤΙΘΕΜΕΝΟΥ ΜΕΓΙΣΤΟΥ ΜΕ ΤΟΥΣ ΥΠΟΛΟΙΠΟΥΣ ΑΡΙΘΜΟΥΣ ΤΟΥ ΠΙΝΑΚΑ.

ΚΑΙ ΑΝ ΒΡΕΙ ΜΕΓΑΛΥΤΕΡΟ ΑΡΙΘΜΟ ΑΠΟ ΤΟΝ ΥΠΟΤΙΘΕΜΕΝΟ ΔΙΚΟ ΜΟΥ ΜΕΓΙΣΤΟ ΝΑ ΘΕΩΡΗΣΕΙ ΑΥΤΟΝ ΣΑΝ ΜΕΓΙΣΤΟ.


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
ΔημοσίευσηΔημοσιεύτηκε: Δευτ 26 Μάιος 2008 10:05 am 
Χωρίς σύνδεση

Εγγραφή: Πέμ 01 Μάιος 2003 10:25 pm
Δημοσιεύσεις: 38
Τοποθεσία: Καλλιθέα Αττικής
Η λύση απαιτεί τρία σταδια:

Αρχικό Στάδιο

Ετοιμασία ουράς FIFO με δυο μεταβλητές ΜΕΓΙΣΤΟΣ και ΔΕΥΤΕΡΟΣ_ΜΕΓΙΣΤΟΣ με αρχικές τιμές το πρώτο στοιχείο του ΠΙΝΑΚΑ.

Στάδιο Επεξεργασίας
α) Γίνεται για κάθε i στοιχείο του Πίνακα ξεκινώντας από το δεύτερο (δεν έχει νόημα ο Πινακας με ένα στοιχείο για το πρόγραμμα αυτό).

β)Με μια ΑΝ προσδιορίζουμε το Γεγονός ( ΜΕΓΙΣΤΟΣ<Α[i] ) και προβαίνουμε ανάλογα στην τροφοδοσία της λίστας...(Πρώτο εισερχόμενο Πρώτο εξερχόμενο): Πρώτα αντιογράφουμε την τιμή της ΜΕΓΙΣΤΟΣ στην ΔΕΥΤΕΡΟΣ_ΜΕΓΙΣΤΟΣ και μετά αντιγράφουμε την νέα ΜΕΓΙΣΤΟΣ (από τον πίνακα)

Τελικό Στάδιο
Στο τέλος έχουμε την ουρά τακτοποιημένη και επιστρέφουμε ως αποτέλεσμα τη ΔΕΥΤΕΡΟΣ_ΜΕΓΙΣΤΟΣ.


Θεωρία:
Οι λίστες FIFO είναι σαν παράσταση οι ουρές στις τράπεζες: Ο πρώτος που προσέρχεται, αυτός εξυπηρετείται. Αν έχουμε δύο και τον καθένα τον επιλέγουμε με το γεγονός ΜΕΓΙΣΤΟΣ τότε ο δεύτερος που θα έρχεται στην ουρά θα είναι ο αμέσως επόμενος ΜΕΓΙΣΤΟΣ από τον πρώτο. Άρα ο πρώτος θα είναι πάντα ο ΔΕΥΤΕΡΟΣ ΜΕΓΙΣΤΟΣ...

Να προσθέσω ότι η άλλου τύπου λίστα είναι η LIFO η τελευταία τιμή που μπαίνει βγαίνει πρώτη και παραστατικά είναι ο σωρός χαρτιών τράπουλας που αυξάνει αφήνοντας φύλλα το ένα πάνω στο άλλο και αδείαζει παίρνοντας φύλλα από πάνω....(αν παίρναμε από κάτω τότε θα είχαμε FIFO).

FIFO:First In First Out
LIFO:Last In First Out

http://en.wikipedia.org/wiki/FIFO

_________________
Γλώσσα προγραμματισμού M2000


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
Τελευταίες δημοσιεύσεις:  Ταξινόμηση ανά  
Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 2 Δημοσιεύσεις ] 

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]


Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 5 επισκέπτες


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
cron
Προβολές: