Δομημένος Προγραμματισμός

Σχετικά έγγραφα
Εισαγωγή στον Προγραμματισμό με C++

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 6: Πίνακες. Κ.

Δομημένος Προγραμματισμός

Διαδικασιακός Προγραμματισμός

int array[10]; double arr[5]; char pin[20]; Προγραµµατισµός Ι

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 4: Έλεγχος Ροής. Κ.

Εισαγωγή στον Προγραμματισμό με C++

Δομημένος Προγραμματισμός

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Δομημένος Προγραμματισμός

Εισαγωγή στον Προγραμματισμό με C++

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 3: Είσοδος και Έξοδος Δεδομένων

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 9: Συναρτήσεις Εμβέλεια

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα

Δομημένος Προγραμματισμός

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό

Προγραμματισμός Η/Υ (ΤΛ2007 )

ΑΣΚΗΣΗ 5: ΠΙΝΑΚΕΣ. Σχήµα 1: H έννοια των πινάκων

Προγραμματισμός H/Y Ενότητα 4: Δείκτες. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Εισαγωγή στον Προγραμματισμό με C++

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 8: Συναρτήσεις. Κ.

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)

Λογιστικές Εφαρμογές Εργαστήριο

Δομημένος Προγραμματισμός

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Εισαγωγή στον δομημένο προγραμματισμό

Αντικειμενοστραφής Προγραμματισμός

Διαδικαστικός Προγραμματισμός

Υπολογισμός - Συλλογή Δεδομένων - Πίνακες

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δείκτες Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

Εισαγωγή στον Προγραμματισμό με C++

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Δομημένος Προγραμματισμός

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Δομημένος Προγραμματισμός

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Μεθόδων Επίλυσης Προβλημάτων

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό

Προγραμματισμός H/Y Ενότητα 1: Εισαγωγή. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Διαδικασιακός Προγραμματισμός

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Ηλεκτρονικοί Υπολογιστές

Εισαγωγή στον Προγραμματισμό με C++

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Τεχνολογία και Προγραμματισμός Υπολογιστών. Η γλώσσα προγραμματισμού C

Δομημένος Προγραμματισμός

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Εισαγωγή στον Προγραμματισμό με C++

Εισαγωγή στον δομημένο προγραμματισμό

Πληροφορική. Εργαστηριακή Ενότητα 1 η : Εισαγωγή στα Λογιστικά Φύλλα με το MS Excel. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

Προγραμματισμός H/Y Ενότητα 3: Πίνακες αριθμών και χαρακτήρων. Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες ( ιάλεξη 18) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Πίνακες. 1 Πίνακες. 30 Μαρτίου 2014

Στατιστική Επιχειρήσεων Ι

Εργαστήριο 3 Εντολή for while, do while

Πληροφορική. Εργαστηριακή Ενότητα 3 η : Επεξεργασία Κελιών Γραμμών & Στηλών. Ι. Ψαρομήλιγκος Τμήμα Λογιστικής & Χρηματοοικονομικής

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Στατιστική Επιχειρήσεων Ι

Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Δομή του προγράμματος. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΜΑΘΗΜΑΤΙΚΑ ΓΙΑ ΟΙΚΟΝΟΜΟΛΟΓΟΥΣ

Αντικειμενοστραφής Προγραμματισμός

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 5: Εντολές Επανάληψης

Πληροφορική II. Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι. τύποι δεδομένων. Δρ. Γκόγκος Χρήστος

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Eισαγωγή στον Προγραμματισμό

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

Διαδικαστικός Προγραμματισμός

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Ειδικά Θέματα Προγραμματισμού

Διαδικασιακός Προγραμματισμός

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

{ int a = 5; { int b = 7; a = b + 3;

Αντικειμενοστραφής Προγραμματισμός

Η γλώσσα προγραμματισμού C

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Διαδικαστικός Προγραμματισμός

6. ΠΙΝΑΚΕΣ & ΑΛΦΑΡΙΘΜΗΤΙΚΑ

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

Εισαγωγή στον Προγραμματισμό με C++

Στατιστική Επιχειρήσεων

ΣΤΑΤΙΣΤΙΚΗ ΕΠΙΧΕΙΡΗΣΕΩΝ

Εισαγωγή στον Προγραμματισμό με C++

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Transcript:

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα 6: Πίνακες Κώστας Κουκουλέτσος, Καθηγητής Τμήμα Η.Υ.Σ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

Σκοποί ενότητας 1. Να ορίζετε και να αρχικοποιείτε πίνακες. 2. Να μάθετε τον τρόπο πρόσβασης στα στοιχεία ενός πίνακα. 3. Να εξοικειωθείτε με την χρήση πινάκων. 4. Να χρησιμοποιείτε μονοδιάστατους και δισδιάστατους πίνακες για επεξεργασία δεδομένων. 5. Να είστε σε θέση να παράγετε τυχαίους αριθμούς στον προγραμματισμό.

Περιεχόμενα ενότητας Πίνακες (Arrays) Ορισμόs (Δήλωση) πίνακα Στοιχεία του πίνακα Αναπαράσταση πίνακα Μέγεθος πίνακα - Συνάρτηση sizeof Αρχικοποίηση πίνακα Επεξεργασία πίνακα Εισαγωγή και εμφάνιση στοιχείων Πολυδιάστατος πίνακας Ορισμόs δισδιάστατου πίνακα Αρχικοποίηση πίνακα δύο διαστάσεων Παράδειγμα εισόδου τιμών - εμφάνισης πίνακα Τυχαίοι αριθμοί (ψευδοτυχαίοι)

Πίνακες (Arrays) Ένας πίνακας είναι μία ομάδα δεδομένων του ιδίου τύπου. Οι πίνακες δίνουν την δυνατότητα επεξεργασίας πολλών δεδομένων με γρήγορο και από τρόπο. Παράδειγμα Για την επεξεργασία των βαθμών των σπουδαστών σε ένα τμήμα απαιτείται μεγάλο πλήθος μεταβλητών. Για 50 σπουδαστές χρειαζόμαστε 50 μεταβλητές (v1,v2, v3 v50). Πράξεις και γενικά χειρισμός τόσων μεταβλητών είναι πρακτικά αδύνατος. Με την χρήση πίνακα όλες οι μεταβλητές έχουν ένα κοινό όνομα και διαφέρουν μόνο ως προς τον δείκτη.

Ορισμόs (Δήλωση) πίνακα Η δήλωση ορισμός γίνεται ως εξής: Παράδειγμα» type name[size]» int t[50] // dilonei pinaka me 50 akeraious» float vathmos[400] // dilonei pinaka me 400 pragmatikous Το όνομα του πίνακα είναι ένα αναγνωριστικό Ένας πίνακας μπορεί να είναι οποιουδήποτε τύπου (int, float, double, char ) H διάσταση του πίνακα είναι το πλήθος των δεικτών που έχει ο πίνακας Ο πίνακας είναι μία δομή δεδομένων που δεσμεύει, σε μία περιοχή της μνήμης που λέγεται στοίβα (stack), συνεχόμενες θέσεις

Στοιχεία του πίνακα Κάθε στοιχείο του πίνακα καθορίζεται από το όνομα του πίνακα και ένα αριθμοδείκτη δείκτη θέσης (index) Παράδειγμα» int v[50] // dilonei pinaka me 50 akeraious Επομένως προσπέλαση των στοιχείων γίνεται ως εξής Το 1o στοιχεία του ανωτέρω πίνακα είναι το v[0], Tο 2o στοιχείο είναι το v[1] To τελευταίο στοιχείο του πίνακα είναι το v[4] στη περίπτωση που έχει δηλωθεί ένας πίνακας v[5] ή το v[49] στην περίπτωση που έχει δηλωθεί ένας πίνακας v[50] Υπάρχουν και δισδιάστατοι τρισδιάστατοι κλπ πίνακες όμως σπάνια χρησιμοποιούνται πίνακες πάνω από τρείς διαστάσεις.

Αναπαράσταση πίνακα Δήλωση πίνακα» int a[10]; Όνομα πίνακα: a, Τύπος πίνακα: int, Σύνολο στοιχείων: 10 Συνολικά bytes που δεσμεύονται 4X10=40 bytes Ο πίνακας δεσμεύει συνεχόμενες θέσεις στην μνήμη του υπολογιστή

Μέγεθος πίνακα - Συνάρτηση sizeof (1/2) Η συνάρτηση sizeof μπορεί να χρησιμοποιηθεί με πίνακες και επιστρέφει σαν τιμή το συνολικό μέγεθος σε bytes που καταλαμβάνει ο πίνακας.» printf(" to megethos int = %d\n", sizeof(int));» printf(" to megethos float = %d\n", sizeof(float));» printf(" to megethos double = %d\n", sizeof(double)); Όλα τα στοιχεία του πίνακα έχουν το ίδιος μέγεθος.

Μέγεθος πίνακα - Συνάρτηση sizeof Παράδειγμα (2/2)» float pin[ ]= {4, -2,-5, 9, 4,-3,-4, 6, 2,-6,-2, 5, 6,-2}; Για να βρεθεί το μέγεθος που καταλαμβάνει ένας πίνακας μπορεί να χρησιμοποιηθεί η εντολή» int plithos = sizeof(pin)/sizeof(pin[0]) To ίδιο θα ήταν αν χρησιμοποιηθεί η εντολή» int plithos = sizeof(pin)/sizeof(float)

Αρχικοποίηση πίνακα (1/2) Τιμές σε πίνακα μπορούν να δοθούν με τον παρακάτω τρόπο (αρχικοποίηση)» int v[5]={101, 102, 103, 104, 105 } Αν το μέγεθος του πίνακα δεν έχει γραφεί τότε με μία αρχικοποίηση το πλήθος των στοιχείων του πίνακα ορίζεται από το πλήθος των τιμών τις τιμές που πίνακα» int v[ ]={ 100, 200, 300}; Με τον τρόπο αυτό ορίζεται πίνακας 3 θέσεων

Αρχικοποίηση πίνακα (2/2) Αν στην αρχικοποίηση ενός πίνακα παραληφθούν κάποιες τιμές τότε οι τιμές αυτές είναι 0» int v[5]={101,102}; Οι υπόλοιπες θέσεις του πίνακα δηλ. v[2] =0, v[3] =0, v[4] =0 Η παρακάτω δήλωση μηδενίζει όλες τις θέσεις σε ένα πίνακα» int v[50]={0}; Η πρώτη θέση του πίνακα (το στοιχείο v[0]=0) και οι υπόλοιπες θέσεις του πίνακα παραλείπονται

Παρατηρήσεις για τους πίνακες Το πρώτο στοιχείο ενός πίνακα αποθηκεύεται στην θέση 0 Σε πίνακα που έχει οριστεί» int a[100] το τελευταίο στοιχείο είναι στην θέση α[99]. Στην περίπτωση υπέρβασης των ορίων του πίνακα, δηλαδή όταν επιχειρείται πρόσβαση σε στοιχεία που δεν έχουν δηλωθεί, ο μεταγλωττιστής το επιτρέπει και δεν το θεωρεί λάθος, τα αποτελέσματα όμως είναι απρόβλεπτα και είναι δύσκολο να εντοπιστούν λάθη από ένα τέτοιο χειρισμό. Παράδειγμα

Παράδειγμα αρχικοποίησης Εξηγήστε τα αποτελέσματα του παρακάτω προγράμματος: Ο πίνακας a περιέχει απροσδιόριστες (τυχαίες) τιμές γιατί δεν έχει αρχικοποιηθεί Ο πίνακας b περιέχει τις τιμές 1,2,3 και απροσδιόριστες τιμές Ο πίνακας c έχει αρχικοποιηθεί με 0 για όλα τα στοιχεία του

Επεξεργασία πίνακα Γίνεται με την χρήση της εντολής for. O λόγος που χρησιμοποιείται το for, αντί για κάποια άλλη δομή επανάληψης, είναι γιατί είναι γνωστό το πλήθος των επαναλήψεων που πρέπει να γίνουν για την πρόσβαση σε όλα τα στοιχεία του πίνακα. Παράδειγμα» int a[100]; Για να γίνει εισαγωγή ή εμφάνιση στοιχείων σε ένα τέτοιο πίνακα χρησιμοποιείται συνήθως η εντολή for :» for(i=0;i<100; i++){» }

Εισαγωγή και εμφάνιση στοιχείων

Πολυδιάστατος πίνακας Ένα πολυδιάστατος πίνακας έχει περισσότερες από μία διαστάσεις. Πίνακες με παραπάνω από 3 διαστάσεις συναντιόνται σπάνια στην πράξη. Δήλωση πίνακα δύο διαστάσεων Ένα πίνακας με δύο διαστάσεις που θα είχε την δυνατότητα να αποθηκεύει τους βαθμούς μίας τάξης 50 ατόμων σε 6 μαθήματα θα οριζόταν ως εξής» float vat[50][6]; Για τους πίνακες δύο διαστάσεων ισχύουν ότι και για τους μονοδιάστατους πίνακες σχετικά με την αρχικοποίηση και τον χειρισμό τους Το πλήθος των στοιχείων του δισδιάστατου πίνακα είναι ίσο με το γινόμενο των δύο αριθμών που ορίζουν το μέγεθος των γραμμών και των στηλών του πίνακα.

Ορισμόs δισδιάστατου πίνακα Η ορισμός (δήλωση) γίνεται ως εξής: Παράδειγμα» type name[size][size]» int t[50][4] // dilonei pinaka me 200 akeraious» float vathmos[40][3] // dilonei pinaka me 120 pragmatikous Το όνομα του πίνακα είναι ένα αναγνωριστικό Παράδειγμα» int z[10][5] // dilonei pinaka me 50 akeraious Το πρώτο και το τελευταίο στοιχείο του πίνακα στο παραπάνω παράδειγμα είναι αντίστοιχα τα:» z[0][0] z[9][4]

Αναπαράσταση πίνακα δύο Ο πίνακας στην μνήμη του υπολογιστή καταλαμβάνει διαδοχικές θέσεις όμως για ευκολία αναπαρίσταται σαν πίνακας με δύο διαστάσεις όπως στα μαθηματικά Τα στοιχεία αποθηκεύονται στην μνήμη του υπολογιστή ξεκινώντας από τα στοιχεία της πρώτης γραμμής, συνεχίζουν με τα στοιχεία της δεύτερης γραμμή κλπ. διαστάσεων

Αρχικοποίηση πίνακα δύο διαστάσεων (1/3) Η Αρχικοποίηση πίνακα δύο διαστάσεων γίνεται βάζοντας διπλά άγκιστρα» int pinax[ 2 ][ 3 ] = { { 11, 22, 33 }, { 155, 166, 177 } }; Για μεγαλύτερη αναγνωσιμότητα η αρχικοποίηση παρουσιάζεται με τον παρακάτω τρόπο ώστε εύκολα να ξεχωρίζουν οι γραμμές και οι στήλες» int pinax[ 2 ][ 3 ]= { { 11, 22, 33 },» { 155, 166, 177 } };

Αρχικοποίηση πίνακα δύο διαστάσεων (2/3) Η αρχικοποίηση μπορεί να γίνει και χωρίς οι αριθμοί να διαχωρίζονται με άγκιστρα ή το κόμμα» int pinax[ 2 ][ 3 ]= {11, 22, 33, 155, 166, 177 }; Ακόμη πιο παραστατικά η αραιοποίηση γίνεται όταν οι τιμές εξαπλώνονται σε πολλές γραμμές με τον τρόπο που θα εμφανιζόταν στα Μαθηματικά» int pinax[ 2 ][ 3 ]= { 11, 22, 33,» 155, 166, 177 };

Αρχικοποίηση πίνακα δύο διαστάσεων (3/3) Προσοχή στην ομαδοποίηση διότι αν παραλειφθούν κάποιες τιμές τότε στις αντίστοιχες θέσεις εκχωρούνται 0» int pinax[ 2 ][ 2 ] = { { 11 }, { 3, 4 } }; Σε περίπτωση που γίνεται δήλωση και αρχικοποίηση σε πίνακα δύο διαστάσεων μπορεί να παραληφθεί το πλήθος των γραμμών όχι όμως το πλήθος των στηλών» int pinax[ ][ 4 ] = {11, 22, 33, 44, 155, 166, 177, 144 }; Στο παραπάνω παράδειγμα ο μεταγλωττιστής θα θεωρήσει ότι το πλήθος των γραμμών είναι 2

Mέγεθος πίνακα Το πλήθος των στοιχείων ενός πίνακα δεν μπορεί να αλλάξει κατά την διάρκεια εκτέλεσης του προγράμματος. Για τη δήλωση του μεγέθους ενός πίνακα χρησιμοποιείται πολύ συχνά η οδηγία #define» #define NROW 3» #define NCOL 5» int main(){» int arr[nrow, NCOL]; Στο επόμενο παράδειγμα ο ορισμός γίνεται με τον τρόπο αυτό

Παράδειγμα αρχικοποίησης και εμφάνισης πίνακα Να εμφανίζεται πίνακας δύο διαστάσεων στην οθόνη. Ο πίνακας να αρχικοποιείται μέσα στο πρόγραμμα.

Παράδειγμα εισόδου τιμών - εμφάνισης πίνακα (1/2) Να γίνεται εισαγωγή των στοιχείων ενός πίνακα δύο διαστάσεων και να εμφανίζονται τα στοιχεία του

Παράδειγμα εισόδου τιμών - εμφάνισης πίνακα (2/2)

Να εισάγονται σε πίνακα 6 αριθμοί. Μετά την εμφάνιση του πίνακα να εμφανίζεται το μεγαλύτερο στοιχείο του πίνακα και η θέση του. Άσκηση (1/2)

Άσκηση (2/2)

Άσκηση - Εμφάνιση βαθμολογίας Να αρχικοποιούνται δύο πίνακες με βαθμούς που αντιπροσωπεύουν βαθμούς θεωρία και εργαστηρίου για 15 σπουδαστές. Να εμφανίζεται ένας κατάλογος με την βαθμολογία και χαρακτηρισμούς για την επιτυχία ή αποτυχία κάθε σπουδαστή. Σε περίπτωση που και οι δύο βαθμοί είναι >=5 τότε να εμφανίζεται και ο μέσος όρος (1/2)

Άσκηση - Εμφάνιση βαθμολογίας Αποτέλεσμα (2/2)

Τυχαίοι αριθμοί (ψευδοτυχαίοι) (1/2) Για να καλυφθεί η ανάγκη παραγωγής τυχαίων αριθμών στους υπολογιστές υπάρχουν οι παρακάτω συναρτήσεις. Η συνάρτηση rand() επιστρέφει ένα ακέραιο αριθμό στο διάστημα [0,RAND_MAX], Η τιμή RAND_MAX για τον Dev C++ compiler είναι 32767 Η συνάρτηση srand(time(null)) αρχικοποιεί την ακολουθία που παράγει η συνάρτηση rand με διαφορετική τιμή, λαμβάνοντας μία τιμή από την ένδειξη του ρολογιού του υπολογιστή Η συνάρτηση αυτή βρίσκεται στην βιβλιοθήκη <ctime>

Τυχαίοι αριθμοί (ψευδοτυχαίοι) (2/2) Αν χρειαζόμαστε τυχαίους αριθμούς, ακέραιους, σε κάποιο διάστημα από high έως low τότε (low<high) αντί για το διάστημα 0-RAND_MAX, χρησιμοποιείται του ακέραιο υπόλοιπο του τυχαίο αριθμού σύμφωνα με το τύπο» x=low+rand()%(high-low+1) εμφανίζεται ακέραιος αριθμός στο διάστημα [low,low+high] (με w<rand_max) πχ. Για να γίνει παραγωγή τυχαίων αριθμών από το 10 έως και το 14» rand()%5 +10 πχ. Για προσομοίωση μίας ρίψης ζαριού» rand()%6 +1

Παράδειγμα

Τέλος Ενότητας