Αρχική ΑΕΠΠ - Δομές Δεδομένων Λειτουργικά Συστήματα Δίκτυα Υπολογιστών ΙΙ Βάσεις Δεδομένων Παιδαγωγικά - Διδακτική
Μεταβλητή - Έκφραση Δομή Ακολουθίας Δομή Επιλογής Δομή Επανάληψης
Μονοδιάστατοι Δισδιάστατοι Πολυδιάστατοι Αναζήτηση Ταξινόμηση Στοίβα Ουρά
Συναρτήσεις Διαδικασίες Σχετικά με τις παράμετρους
Όλες οι παρακάτω τεχνικές ενεργούν σε έναν πίνακα Τ που έχει Ν στοιχεία, όπου Ν ένας θετικός ακέραιος αριθμός. Σε όλους τους αλγόριθμους θεωρούμε ότι ο πίνακας είναι ακεραίων. Οι τεχνικές όμως δεν αλλάζουν αν ο πίνακας είναι πραγματικών αριθμών ή χαρακτήρων.
Με αυτό το τμήμα μηδενίζουμε όλα τα Ν στοιχεία του πίνακα Τ. Αυτό είναι απαραίτητο να γίνεται όταν ο πίνακας πρόκειται να χρησιμοποιηθεί για να καταχωρίσει αποτελέσματα επεξεργασίας δεδομένων. Θα το συναντήσουμε αρκετά συχνά στους δισδιάστατους πίνακες όπου θα κρατάμε αθροίσματα, μέγιστα, ελάχιστα κ.α. γραμμών ή και στηλών.
Το τμήμα αυτό δίνει αρχικές τιμές διαδοχικές στα στοιχεί του πίνακα. Ο σκοπός του είναι να δείξει τη χρήση της μεταβλητής I τόσο ως δείκτη στον πίνακα όσο και ως μια οποιοδήποτε άλλη μεταβλητή.
Προσοχή: Ο παραπάνω αλγόριθμος βρίσκει μόνο ποιο είναι το ελάχιστο στοιχείο του πίνακα. Δε μας δίνει πληροφορία για το πόσα στοιχεία του πίνακα είναι ίσα με το ελάχιστο ούτε τη θέση αυτών. Για παράδειγμα, αν έχουμε τον παρακάτω πίνακα: T [14, 9, 3, 5, 7, 3] θα βρει ότι το ελάχιστο στοιχείο είναι το 3.
Αν θέλουμε να εμφανίσουμε και τη θέση που βρέθηκε το στοιχείο, τότε προσθέτουμε και μία μεταβλητή η οποία κρατάει το Ι.
Στις ασκήσεις? θα βρείτε άσκηση που ζητάει την εύρεση του ελαχίστου και την εμφάνιση όλων των θέσεων στο οποίο αυτό βρίσκεται.
Εδώ ισχύου οι ίδιες παρατηρήσεις με την εύρεση ελαχίστου.
Θεωρούμε ότι ο πίνακας έχει ακέραιους ή πραγματικούς αριθμούς.
Έστω ότι έχουμε δύο πίνακες Τ1, Τ2
, με διαστάσεις 1 x n1
και 1 x n2
αντίστοιχα. Θέλουμε να δημιουργήσουμε ένα νέο πίνακα Τ όπου ο Τ2 θα προστεθεί στο τέλος του Τ1. Ο νέος πίνακας πρέπει να έχει διάσταση 1 x n
όπου n = n1 + n2
.
Προσοχή: Οι τρεις πίνακες Τ1, Τ2, Τ πρέπει να δέχονται τον ίδιο τύπο στοιχείων, πχ. ακέραιους.
Για να προσθέσουμε δύο πίνακες θα πρέπει αυτοί να έχουν την ίδια διάσταση. Έτσι, θεωρούμε ότι έχουμε δύο πίνακες Τ1, Τ2
, με διάσταση 1 x n
ο καθένας. Ο τελικός πίνακας θα έχει και αυτός διάσταση 1 x n
και το κάθε στοιχείο του θα είναι το άθροισμα των στοιχείων των Τ1, Τ2 στην αντίστοιχη θέση.
Έστω ότι έχουμε δύο πίνακες Τ1, Τ2
, με διαστάσεις 1 x n1
και 1 x n2
αντίστοιχα όπου τα στοιχεία και των δύο είναι ταξινομημένα. Θέλουμε να δημιουργήσουμε ένα νέο πίνακα Τ όπου τα στοιχεία του θα περιέχουν όλα τα στοιχεία των Τ1 και Τ2, ταξινομημένα. Για παράδειγμα, έστω ότι οι πίνακες Τ1 και Τ2 είναι:
T1 = [1, 3, 4, 6], T2 = [2, 4, 5, 6, 7, 8] ο νέος πίνακας που θα προκύψει είναι: Τ = [1, 2, 3, 4, 4, 5, 6, 6, 7, 8]
Για να προκύψει, λοιπόν, ο παραπάνω πίνακας πρέπει να γίνουν τα παρακάτω βήματα:
Από τα παραπάνω παρατηρούμε ότι οι τιμές των δεικτών (i, j)
για τους δύο πίνακες δεν αυξάνονται σε κάθε βήμα, αλλά υπό συνθήκη (αυξάνεται ο μετρητής του πίνακα που έδωσε το μικρότερο στοιχείο). Αυτό σημαίνει ότι δε μπορούμε να χρησιμοποιήσουμε τη δομή ΓΙΑ
. Επίσης, από το σημείο που ένα πίνακας έδωσε όλα τα στοιχεία του δεν έχει νόημα να γίνεται σύγκριση με τον άλλο πίνακα. Αυτό που χρειάζεται είναι τα υπόλοιπα στοιχεία του πίνακα που έχει ακόμη στοιχεία, να αποδοθούν στο νέο πίνακα.
Ο τμήμα του αλγόριθμου που υλοποιεί την παραπάνω διαδικασία είναι:
Copyright 2008 - Άρης Φεργάδης