Επιλογή Σελίδας

Να επεκτείνεις το παράδειγμα 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
    ΤΕΛΟΣ_ΑΝ
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
Θέση_μέγιστο_πίνακα<-- θέση
ΤΕΛΟΣ_ΣΥΝΑΡΤΗΣΗΣ

Share This