Professional Documents
Culture Documents
1. Εισαγωγή στοιχείων
Έστω ότι πρέπει να διαβάσουμε Ν στοιχεία και να τα αποθηκεύσουμε στον πίνακα Π:
Ε π ε ξ ε ρ γ α σ ί α Δ Ι Σ Δ Ι Α Σ ΤΑΤ Ω Ν π ι ν ά κ ω ν
Άθροισμα όλου του πίνακα Άθροισμα κάθε γραμμής Άθροισμα κάθε στήλης
Αθρ 0 Για i από 1 μέχρι 10 Για j από 1 μέχρι 20
Για i από 1 μέχρι 10 Αθρ[i] 0 Αθρ[j] 0
Για j από 1 μέχρι 20 Για j από 1 μέχρι 20 Για i από 1 μέχρι 10
Αθρ Αθρ + Π[i,j] Αθρ[i] Αθρ[i] + Π[i,j] Αθρ[j] Αθρ[j] + Π[i,j]
Τέλος_επανάληψης Τέλος_επανάληψης Τέλος_επανάληψης
Τέλος_επανάληψης Τέλος_επανάληψης Τέλος_επανάληψης
Μέσος όρος όλου του πίνακα Μέσος όρος κάθε γραμμής Μέσος όρος κάθε στήλης
ΜΟ 0 Για i από 1 μέχρι 10 Για j από 1 μέχρι 20
Για i από 1 μέχρι 10 ΜΟ[i] 0 ΜΟ[j] 0
Για j από 1 μέχρι 20 Για j από 1 μέχρι 20 Για i από 1 μέχρι 10
ΜΟ ΜΟ + Π[i,j] ΜΟ[i] ΜΟ[i] + Π[i,j] ΜΟ[j] ΜΟ[j] + Π[i,j]
Τέλος_επανάληψης Τέλος_επανάληψης Τέλος_επανάληψης
Τέλος_επανάληψης ΜΟ[i] ΜΟ[i] / 20 ΜΟ[j] ΜΟ[j] / 10
ΜΟ ΜΟ / 200 Τέλος_επανάληψης Τέλος_επανάληψης
5. Αναζήτηση πίνακα
Για αναζήτηση σε μη ταξινομημένο πίνακα, χρησιμοποιείστε τη σειριακή/γραμμική αναζήτηση (σελ.
64 του βιβλίου)
Για αναζήτηση σε ταξινομημένο πίνακα (Α[Ν]), χρησιμοποιήστε την δυαδική αναζήτηση που
φαίνεται παρακάτω:
! αύξουσα σειρά
ΒΡΕΘ ← ΨΕΥΔΗΣ
ΑΡΧ ← 1
ΤΕΛ ←Ν
Μ ← (ΑΡΧ+ΤΕΛ) DIV 2
ΘΕΣΗ ← 0
ΟΣΟ (ΑΡΧ <= ΤΕΛ) ΚΑΙ (ΒΡΕΘ = ΨΕΥΔΗΣ) ΕΠΑΝΑΛΑΒΕ
ΑΝ Α[Μ] = Χ ΤΟΤΕ
ΒΡΕΘ ← ΑΛΗΘΗΣ
ΘΕΣΗ ← Μ
ΑΛΛΙΩΣ_ΑΝ Α[Μ] < Χ ΤΟΤΕ
ΑΡΧ ← Μ+1
ΑΛΛΙΩΣ ! A[M] > X
ΤΕΛ ← Μ-1
ΤΕΛΟΣ_ΑΝ
Μ ← (ΑΡΧ+ΤΕΛ) DIV 2
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
6. Ταξινόμηση πίνακα
Αν για οποιοδήποτε λόγο χρειαστεί να κάνετε ταξινόμηση σε μονοδιάστατο πίνακα (είτε αυτός
περιέχει αριθμούς είτε χαρακτήρες), θα πρέπει να χρησιμοποιήσετε τη μέθοδο της φυσαλίδας/ευθείας
ανταλλαγής. (σελ. 68 του βιβλίου)
Επίσης, μπορείτε να χρησιμοποιήσετε την ταξινόμηση με επιλογή που παρουσιάζεται παρακάτω
(Α[Ν]):
Για i από 1 μέχρι N-1
θmin ← i
Για j από i+1 μέχρι N
Αν Α[j] < Α[θmin] τότε ! αύξουσα
θmin ← j
Τέλος_αν
Τέλος_επανάληψης
temp ← Α[i]
Α[i] ← Α[θmin]
Α[θmin] ← temp
Τέλος_επανάληψης
Απαραίτητη γνώση για την επίλυση ασκήσεων
με πίνακες
1. Για κάθε ένα από τα παρακάτω, δώστε το απόσπασμα προγράμματος που το υλοποιεί:
a. υπολογισμός του αθροίσματος των στοιχείων του πίνακα πραγματικών Α[100]
b. υπολογισμός του γινομένου των στοιχείων του πίνακα πραγματικών Α[100]
c. εύρεση του μικρότερου και του μεγαλύτερου αριθμού στον πίνακα ακεραίων Α[210],
καθώς και των θέσεων στις οποίες βρίσκονται αυτοί
d. αν στο προηγούμενο ερώτημα ο πίνακας Α περιείχε χαρακτήρες (π.χ. ονόματα
παικτών), το απόσπασμα που γράψατε, θα «δούλευε» για την εύρεση του πρώτου και
του τελευταίου αλφαβητικά ονόματος;
e. υπολογισμός του πλήθους των στοιχείων που περιέχουν το όνομα «Ηράκλειο» μέσα
στον πίνακα Α[30], ο οποίος περιλαμβάνει ονόματα πόλεων
2. Υλοποιήστε όλα τα παραπάνω ερωτήματα για πίνακες δισδιάστατους 14x30
3. Για κάθε ένα από τα παρακάτω, δώστε το απόσπασμα προγράμματος που το υλοποιεί:
a. υπολογισμός των αθροισμάτων κάθε γραμμής για τον πίνακα πραγματικών Α[34, 21]
b. υπολογισμός των αθροισμάτων κάθε στήλης για τον πίνακα πραγματικών Α[34, 21]
c. υπολογισμός των μέσων όρων κάθε γραμμής για τον πίνακα πραγματικών Α[34, 21]
d. υπολογισμός των μέσων όρων κάθε στήλης για τον πίνακα πραγματικών Α[34, 21]
e. εύρεση του ελάχιστου και του μέγιστου αριθμού κάθε γραμμής για τον πίνακα
πραγματικών Α[34, 21]
f. εύρεση του ελάχιστου και του μέγιστου αριθμού κάθε στήλης για τον πίνακα
πραγματικών Α[34, 21]
4 . Ταξινομήστε με τη μέθοδο της Ευθείας Ανταλλαγής τον πίνακα χαρακτήρων Παίκτες[10] κατά
αύξουσα αλφαβητική σειρά.
5 . Ταξινομήστε με τη μέθοδο της Επιλογής τον πίνακα χαρακτήρων Παίκτες[100] κατά φθίνουσα
αλφαβητική σειρά.
6 . Αναζητήστε με τη Σειριακή μέθοδο τον αριθμό 12 μέσα στον πίνακα Πόντοι[10]. Θα πρέπει να
απαντώνται τα ερωτήματα:
α) υπάρχει ή όχι ο αριθμός 12 μέσα στον πίνακα
β) σε ποια θέση του πίνακα τον συναντάμε πρώτη φορά
Ο αλγόριθμος θα πρέπει να τερματίζει μόλις συναντήσουμε τον 12 μέσα στον πίνακα.
7 . Αναζητήστε το κλειδί ‘ΑΘΗΝΑ’ μέσα στον ταξινομημένο κατά φθίνουσα σειρά πίνακα
χαρακτήρων ΠΟΛΕΙΣ[30], χρησιμοποιώντας τη δυαδική αναζήτηση.