Να επεκτείνεις το παράδειγμα 1, ώστε να υπολογίζει την επικρατούσα τιμή, δηλαδή την τιμή που εμφανίζεται περισσότερες φορές.
ΛΥΣΗ
! εύρεση της τιμής που εμφανίζεται συχνότερα σε έναν πίνακα ΠΡΟΓΡΑΜΜΑ Επικρατούσα_Τιμή ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: ΣΤΟΙΧΕΙΑ[100], ΠΛΗΘΟΣ, ΤΙΜΗ[100], ΣΥΧΝΟΤΗΤΑ[100], ΘΕΣΗ ΑΡΧΗ ΚΑΛΕΣΕ Εισαγωγή_δεδ(ΣΤΟΙΧΕΙΑ, ΠΛΗΘΟΣ) ΚΑΛΕΣΕ Ταξινόμησε(ΣΤΟΙΧΕΙΑ, ΠΛΗΘΟΣ) ΚΑΛΕΣΕ Συχνότητα_στοιχείων(ΣΤΟΙΧΕΙΑ, ΠΛΗΘΟΣ, ΤΙΜΗ, ΣΥΧΝΟΤΗΤΑ) ΘΕΣΗ<-- Θέση_μέγιστο_πίνακα(ΣΥΧΝΟΤΗΤΑ, ΠΛΗΘΟΣ) ! απαιτείται επέκταση για περισσότερες τιμές με ίδια μέγιστη συχνότητα ΓΡΑΨΕ 'Επικρατούσα τιμή =', ΤΙΜΗ[ΘΕΣΗ] ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ ! εισαγωγή στοιχείων σε πίνακα ίσα με πλήθος ΔΙΑΔΙΚΑΣΙΑ Εισαγωγή_δεδ(στοιχεία, πλήθος) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: i, πλήθος, στοιχεία[100] ΑΡΧΗ ! Εισαγωγή στοιχείων ΓΡΑΨΕ 'Δώσε το πλήθος των αριθμών (μέγιστο 100)' ΔΙΑΒΑΣΕ πλήθος ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ πλήθος ΓΡΑΨΕ 'Δώσε έναν αριθμό' ΔΙΑΒΑΣΕ στοιχεία[i] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ΔΙΑΔΙΚΑΣΙΑ Ταξινόμησε(Πίνακας, Ν) !Ταξινόμηση των στοιχείων του πίνακα ('έξυπνη') ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ:I,Ν1,Τ,Βοηθητική, Πίνακας[100], Ν ΑΡΧΗ Ν1 <-- Ν ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ Τ <-- 0 ΓΙΑ I ΑΠΟ 1 ΜΕΧΡΙ Ν1-1 ΑΝ Πίνακας[I] > Πίνακας[I+1] ΤΟΤΕ Βοηθητική <-- Πίνακας[I] Πίνακας[I] <-- Πίνακας[I+1] Πίνακας[I+1] <-- Βοηθητική Τ <-- I ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Ν1 <-- Τ ΜΕΧΡΙΣ_ΟΤΟΥ Τ=0 ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ! δέχεται ως είσοδο ΤΑΞΙΝΟΜΗΜΕΝΟ πίνακα με στοιχεία ίσα με πλήθος ! καταχωρεί σε 2 νέους παράλληλους πίνακες τις μοναδικές τιμές στον πίνακα τιμή ! και τη συχνότητα εμφάνισης τους στον πίνακα συχνότητα ΔΙΑΔΙΚΑΣΙΑ Συχνότητα_στοιχείων(στοιχεία, πλήθος, τιμή, συχνότητα) ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: στοιχεία[100], πλήθος, i, j, συχνότητα[100], τιμή[100] ΑΡΧΗ ! Αρχικοποίηση πίνακα-μετρητή συχνότητα ΓΙΑ i ΑΠΟ 1 ΜΕΧΡΙ πλήθος συχνότητα[i]<--0 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ τιμή[1]<-- στοιχεία[1] συχνότητα[1] <-- 1 j<--1 ΓΙΑ i ΑΠΟ 2 ΜΕΧΡΙ πλήθος ΑΝ στοιχεία[i] <> στοιχεία[i-1] ΤΟΤΕ j<--j+1 τιμή[j]<--στοιχεία[i] ΤΕΛΟΣ_ΑΝ συχνότητα[j] <-- συχνότητα[j] + 1 ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΔΙΑΔΙΚΑΣΙΑΣ ! επιστρέφει τη θέση του μέγιστου στοιχείου ενός πίνακα ΣΥΝΑΡΤΗΣΗ Θέση_μέγιστο_πίνακα(συχνότητα,πλήθος) : ΑΚΕΡΑΙΑ ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: συχνότητα[100], θέση, πλήθος, max, i ΑΡΧΗ θέση<--1 max<--συχνότητα[1] ΓΙΑ i ΑΠΟ 2 ΜΈΧΡΙ πλήθος ΑΝ συχνότητα[i]> max ΤΌΤΕ max<--συχνότητα[i] θέση<--i ΤΕΛΟΣ_ΑΝ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ Θέση_μέγιστο_πίνακα<-- θέση ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ
Πρόσφατα σχόλια