17. Πολυδιάςτατοι πίνακεσ

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

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

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

16. Πίνακεσ και Συναρτήςεισ

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 15. Πίνακεσ ΙI. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 19. Αλφαριθμητικά II. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων. 18. Αλφαριθμητικά. Ιωάννθσ Κατάκθσ. ΕΡΛ 032: Ρρογραμματιςμόσ Μεκόδων Επίλυςθσ Ρροβλθμάτων

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1

Δομθμζνοσ Προγραμματιςμόσ. Βαγγζλθσ Οικονόμου Εργαςτιριο 9

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python

Δομζσ Αφαιρετικότθτα ςτα Δεδομζνα

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

Εργαςτιριο Πικανοτιτων Σθμειϊςεισ προγραμματιςμοφ: βαςικζσ γνϊςεισ ανάπτυξθσ εφαρμογϊν. Κϊςτασ Αρβανιτάκθσ

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 20. Αρχεία. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

Βαγγζλθσ Οικονόμου Διάλεξθ 7. Συναρτιςεισ Μζροσ 2ο

Δομζσ Δεδομζνων Πίνακεσ

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

5 ΜΕΘΟΔΟΙ - ΠΑΡΑΜΕΤΡΟΙ

343 Ειςαγωγι ςτον Προγραμματιςμό

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. Διαφάνειεσ: Βαςικζσ Αρχζσ Προγραμματιςμοφ Α.Π.Θ. Δθμιτρθσ Βράκασ

ΜΑΘΗΜΑΤΙΚΑ Α Γυμνασίου

Ιδιότθτεσ πεδίων Γενικζσ.

Μονάδες 6. Μονάδες ΓΑΨΕ Δεν υπάρχει ρίηα 2. ΑΝ Α>0 ΤΟΤΕ 3. ΤΕΛΟΣ_ΑΝ 4. ΑΛΛΙΩΣ 5. ίηα Τ_(Α)

Α) Ενδεικτικϋσ απαντόςεισ των θεμϊτων

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

ΑΝΣΙΣΡΟΦΗ ΤΝΑΡΣΗΗ. f y x y f A αντιςτοιχίηεται ςτο μοναδικό x A για το οποίο. Παρατθριςεισ Ιδιότθτεσ τθσ αντίςτροφθσ ςυνάρτθςθσ 1. Η. f A τθσ f.

343 Ειςαγωγι ςτον Προγραμματιςμό

ΕΠΛ 034: Εισαγωγή στον Προγραμματισμό για ΗΜΥ

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

ΥΡΟΝΣΙΣΗΡΙΟ Μ. Ε. ΚΑΙ ΚΕΝΣΡΟ ΙΔΙΑΙΣΕΡΩΝ ΜΑΘΗΜΑΣΩΝ «ΚΤΡΙΣΗ» ΔΙΑΓΩΝΙΜΑ ΘΕΜΑΣΑ Β ΛΤΚΕΙΟΤ ΥΕΒΡΟΤΑΡΙΟ 2018 ΑΕΠΠ

Πολυπλέκτες. 0 x 0 F = S x 0 + Sx 1 1 x 1

Εφδοξοσ+ Συνδεκείτε ςτθν Εφαρμογι Φοιτθτϊν και μεταβείτε ςτθ ςελίδα «Ανταλλαγι Βιβλίων (Εφδοξοσ+)».

Ανάπτυξη Εφαρμογών Σε Προγραμματιςτικό Περιβάλλον

Παράςταςη ςυμπλήρωμα ωσ προσ 1

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

ΟΔΗΓΙΕ ΔΗΜΙΟΤΡΓΙΑ ΚΑΙ ΡΤΘΜΙΗ ΔΩΡΕΑΝ ΗΛΕΚΣΡΟΝΙΚΟΤ ΣΑΧΤΔΡΟΜΕΙΟΤ ΣΟ GOOGLE (G-MAIL)

ςυςτιματα γραμμικϊν εξιςϊςεων

Άςκθςθ 1θ: Να γραφεί αλγόρικμοσ που κα δθμιουργεί με τθ βοικεια διπλοφ επαναλθπτικοφ βρόχου, τον ακόλουκο διςδιάςτατο πίνακα:

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 7 θ Διάλεξθ Διαχείριςθ Μνιμθσ Μζροσ Γ

ΔΟΜΗ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ Αςκήςεισ με ψευδογλώςςα/ διάγραμμα ροήσ. Αντώνης Μαϊργιώτης

22. Ασκήσεις Επανάληψης

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΤΟΤ. Φιλιοποφλου Ειρινθ

ΟΝΟΜΑΣΟΛΟΓΙΑ ΠΑΡΑΜΕΣΡΩΝ ΓΙΑ ΠΡΟΑΡΜΟΜΕΝΕ ΑΝΑΦΟΡΕ. παραμζτρου> (Εμφανίηεται ςαν Caption ςτθν φόρμα των φίλτρων).

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7)

Οντοκεντρικόσ Προγραμματιςμόσ

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 2: Σο Τλικό του Τπολογιςτι

ΑΝΑΠΣΤΞΘ ΕΦΑΡΜΟΓΩΝ Ε ΠΡΟΓΡΑΜΜΑΣΙΣΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 3 ο ΓΕΝΙΚΟ ΛΤΚΕΙΟ Ν. ΜΤΡΝΘ- ΕΠΙΜΕΛΕΙΑ: ΠΤΡΙΔΑΚΘ Λ.

343 Ειςαγωγι ςτον Προγραμματιςμό

ΥΡΟΝΣΙ ΣΗΡΙΟ Μ. Ε. ΚΑΙ ΚΕΝΣΡΟ ΙΔΙΑΙΣΕΡΩΝ ΜΑΘΗΜΑΣΩΝ «ΚΤΡΙΣ Η» ΔΙΑΓΩΝΙ ΜΑ ΑΕΠΠ

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

ΘΥ101: Ειςαγωγι ςτθν Πλθροφορικι

ΘΕΜΑ Α / Αν μια μεταβλθτι ζχει τθν τιμι 47.0 τότε ο τφποσ τθσ μεταβλθτισ είναι ακζραιοσ.

8 τριγωνομετρία. βαςικζσ ζννοιεσ. γ ςφω. εφω και γ. κεφάλαιο

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

ΠΡΟΓΡΑΜΜΑΣΙΜΌ ΤΠΟΛΟΓΙΣΏΝ. Κεφάλαιο 8 Η γλϊςςα Pascal

ΑΝΑΠΣΤΞΗ ΕΥΑΡΜΟΓΩΝ Ε ΠΡΟΓΡΑΜΜΑΣΙΣΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΤΚΕΙΟΤ ΣΕΦΝΟΛΟΓΙΚΗ ΚΑΣΕΤΘΤΝΗ

343 Ειςαγωγι ςτον Προγραμματιςμό

Εργαςτιριο Βάςεων Δεδομζνων

Παράςταςη ακεραίων ςτο ςυςτημα ςυμπλήρωμα ωσ προσ 2

Ανάπτυξη Εφαρμογών με Σχεςιακέσ Βάςεισ Δεδομένων

Ραραμετροποίθςθ ειςαγωγισ δεδομζνων περιόδων

Δζντρα. Δομζσ Δεδομζνων

1. Κατέβαςμα του VirtueMart

Πόςο εκτατό μπορεί να είναι ζνα μη εκτατό νήμα και πόςο φυςικό. μπορεί να είναι ζνα μηχανικό ςτερεό. Συνιςταμζνη δφναμη versus «κατανεμημζνησ» δφναμησ

343 Ειςαγωγι ςτον Προγραμματιςμό

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox

ΟΔΗΓΙΕΣ ΔΗΜΙΟΥΡΓΙΑΣ ΚΑΙ ΡΥΘΜΙΣΗΣ ΔΩΡΕΑΝ ΗΛΕΚΤΡΟΝΙΚΟΥ ΤΑΧΥΔΡΟΜΕΙΟΥ ΣΤΟ YAHOO

x n D 2 ENCODER m - σε n (m 2 n ) x 1 Παραδείγματα κωδικοποιθτϊν είναι ο κωδικοποιθτισ οκταδικοφ ςε δυαδικό και ο κωδικοποιθτισ BCD ςε δυαδικό.

Πρόςβαςη και δήλωςη μαθημάτων ςτον Εφδοξο

Δείκτεσ απόδοςθσ υλικών

Επιχειρηςιακή Ζρευνα και εφαρμογζσ με την χρήςη του λογιςμικοφ R

Γ' ΛΥΚΕΙΟΥ Η ΤΑΞΗ ΤΗΣ ΤΕΛΙΚΗΣ ΕΠΙΛΟΓΗΣ. Στθ ΓϋΛυκείου οι Ομάδεσ Προςανατολιςμοφ είναι τρεισ:

Τίτλος Μαθήματος: Εισαγωγή στον Προγραμματισμό

Περιοριςμοί μιασ Β.Δ. ςτθν Access(1/3)

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 3: Εργονομία

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

Βαςεις δεδομενων 1. Δρ. Αλζξανδροσ Βακαλουδθσ

ΕΝΟΤΗΤΑ 2: ΕΠΙΚΟΙΝΩΝΩ ΜΕ ΤΟΝ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Αρχεία - Φάκελοι

Σφςτημα Κεντρικήσ Υποςτήριξησ τησ Πρακτικήσ Άςκηςησ Φοιτητών ΑΕΙ

Διαδικασία Δημιοσργίας Ειδικών Λογαριασμών. (v.1.0.7)

3 θ διάλεξθ Επανάλθψθ, Επιςκόπθςθ των βαςικϊν γνϊςεων τθσ Ψθφιακισ Σχεδίαςθσ

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

Ειδικά Θζματα Βάςεων Δεδομζνων

1 ο ΜΑΘΗΜΑ Κεφάλαιο 1, Παράγραφοι 1.1, 1.2 ΕΙΣΑΓΩΓΗ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

Αςκιςεισ ςε (i) Δομζσ Ευρετθρίων και Οργάνωςθ Αρχείων (ii) Κανονικοποίθςθ

Εγχειρίδιο Χρήςησ Support

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

Οντοκεντρικόσ Προγραμματιςμόσ

Νζεσ Τάςεισ ςτην εκπαιδευτική διαδικαςία: Gamification

8 ΥΜΒΟΛΟΕΙΡΕ - STRINGS

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

Σχεδίαςη Σφγχρονων Ακολουθιακών Κυκλωμάτων

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

Ε. ε περίπτωςθ που θ διαφορά των δφο ηαριϊν είναι 3 τότε ο παίκτθσ ξαναρίχνει μόνο ζνα ηάρι.

Ποσοτικές Μέθοδοι Δρ. Χάϊδω Δριτσάκη

Transcript:

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων 17. Πολυδιάςτατοι πίνακεσ Ιωάννθσ Κατάκθσ

Πολυδιάςτατοι πίνακεσ o Μζχρι τϊρα μιλοφςαμε για μονοδιάςτατουσ πίνακεσ ι int age[5]= 31,28,31,30,31; o Για παράλλθλουσ πίνακεσ int id[5] = 1029,1132,1031,9991,1513; int age[5] = 31,28,31,30,31; o Σιμερα κα μιλιςουμε για πολυδιάςτατουσ πίνακεσ (κυρίωσ διςδιάςτατουσ).

Πολυδιάςτατοι πίνακεσ o Η C διακζτει ορκογϊνιουσ πολυδιάςτατουσ πίνακεσ char array[3][7] /*[γραμμι+*ςτιλθ]*/ 0 0 1 2 3 4 5 6 1 2 o Αυτό ςυνεπάγεται ότι δεςμεφουμε ακριβϊσ 3*7 = 21 χαρακτιρεσ ςτθ μνιμθ o Για να αναφερκοφμε ςε κάποιο ςτοιχείο του πίνακα χρθςιμοποιοφμε δείκτεσ κζςθσ π.χ. array*0][0]= Α, array[2][3]= Β array[3][2]= Α Δεν υπάρχει το *3+*2+ 0 1 2 0 1 2 3 4 5 6 A B

Συχνζσ ερωτιςεισ Ερώτηςη Α o Μποροφμε να δθλϊςουμε μθ-ορκογϊνιουσ πολυδιάςτατουσ πίνακεσ? ΌΧΙ o Θα μποροφςε να γίνει κάτι αντίςτοιχο, με χριςθ δυναμικισ δζςμευςθσ μνιμθσ, αλλά όχι ςε αυτό το μάκθμα Ερώτηςη Β 0 1 2 0 1 2 3 4 5 6 o Μποροφν τα ςτοιχεία του πίνακα να είναι ανομοιογενι (δθλαδι κάποιεσ γραμμζσ ι ςτιλεσ να φζρουν διαφορετικό τφπο (int, char, float)? ΌΧΙ o Θα μποροφςε να γίνει κάτι αντίςτοιχο, με τθν χριςθ κάποιων ειδικϊν δομϊν που λζγονται structs, αλλά όχι ςε αυτό το μάκθμα 0 1 2 0 1 2 3 4 5 6 A 2.30 4.30 1 3 B

Διςδιάςτατοι πίνακεσ o Ζνασ πολυδιάςτατοσ πίνακασ είναι ζνασ μονοδιάςτατοσ πίνακασ κάκε ςτοιχείο του οποίου είναι ζνασ πίνακασ o Μποροφν να υπάρχουν πίνακεσ ςε πολλζσ διαςτάςεισ (θ ΑΝSI-C που χρθςιμοποιοφμε υποδεικνφει ςτουσ καταςκευαςτζσ μεταγλωττιςτϊν να προςφζρουν μζχρι 6 διαςτάςεισ) o Σε αυτό το μάκθμα κα μελετιςουμε διςδιάςτατουσ πίνακεσ (μια άλλθ χριςιμθ κατθγόρια πινάκων είναι οι τριςδιάςτατοι) o Παράδειγμα 3-διάςτατου πίνακα int enrolled[course_id][professor_id][year]; εγγραφζσ τθσ μορφισ 32,1,2004, 132,2,2005,131,3,2005

Πολυδιάςτατοι πίνακεσ (ςυν.) o Αρχικοποίθςθ διςδιάςτατου πίνακα Μια λίςτα αρχικϊν τιμϊν κλειςμζνθ ςε άγκιςτρα, όπου κάκε τιμι παίρνει αρχικι τιμι από μία αντίςτοιχθ υπολίςτα int studentgrades[100][6] = ; 99, 76, 88, 74, 65, 53, 67, 71, 77, 71, 80, 47, o Αρχικοποίθςθ διςδιάςτατου πίνακα με FOR loop for(i=0;i<100;i++) // γραμμζσ for(j=0;j<6; j++) // ςτιλεσ studentgrades[i][j]=0; Οι πρϊτεσ δυο γραμμζσ (από τισ 100) περιζχουν τισ 6 βακμολογίεσ δυο φοιτθτϊν)

Παράδειγμα Γράψετε ζνα πρόγραμμα το οποίο: α) Δθμιουργεί ζναν πίνακα 10x10 β) Αρχικοποιεί κάκε κζςθ του πίνακα ςε 0 γ) Εκτυπϊνει τον πίνακα

Παράδειγμα 1 Λφςθ Α #include <stdio.h> #define SIZE 10 main () // Διλωςθ Πίνακα int matrix[size][size], i, j; // Αρχικοποίθςθ πίνακα for (i=0; i<size; i++) for (j=0; j<size; j++) matrix[i][j] = 0; // Εκτφπωςθ πίνακα for (i=0; i<size; i++) for (j=0; j<size; j++) printf("%d", matrix[i][j]); Εκτυπϊνει 0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 0000000000 printf("\n"); //Μετά το τζλοσ εκτφπωςθσ μίασ γραμμισ αλλάηουμε //γραμμι

Παράδειγμα 1 Λφςθ Β #include <stdio.h> #define SIZE 10 main () int matrix[size][size] = ; int i,j; // Εκτφπωςθ πίνακα for (i=0; i<size; i++) for (j=0; j<size; j++) printf("%d", matrix[i][j]); printf("\n"); Η Αρχικοποίθςθ γίνεται εδϊ με δυο παρενκζςεισ αντί for loop. To μειονζκτθμα είναι ότι δουλεφει μόνο για αρχικοποίθςθ ςε 0

Παράδειγμα 2 - Αρχικοποίθςθ Πίνακα Γράψετε ζνα πρόγραμμα το οποίο δθμιουργεί τον πιο κάτω διςδιάςτατο πίνακα ςτθν μνιμθ και ςτθν ςυνζχεια τον εκτυπϊνει

Παράδειγμα 2 - Αρχικοποίθςθ Πίνακα Βλζπουμε ότι ο πίνακασ Α μπορεί να παραχκεί από τον Β εάν προςκζςουμε ςε κάκε κζςθ του Β τον αρικμό 3 Α Β 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4 0 1 2 3 4

Παράδειγμα 2 - Αρχικοποίθςθ Πίνακα #include <stdio.h> #define SIZE 5 main () int matrix[size][size]; int i,j; // Αρχικοποιθςθ for (i=0; i<size; i++) for (j=0; j<size; j++) matrix[i][j] = j+3; Για κάκε i (γραμμι): j 0+3=3 1+3=4 2+3=5 3+3=6 4+3=7 for (i=0; i<size; i++) for (j=0; j<size; j++) printf("%d", matrix[i][j]); printf("\n");

Παράδειγμα 3 - Άκροιςμα Διαγωνίου Γράψετε ζνα πρόγραμμα το οποίο δθμιουργεί τον παρακάτω διςδιάςτατο πίνακα ςτθ μνιμθ και ςτθν ςυνζχεια εκτυπϊνει το άκροιςμα τθσ διαγωνίου Α Παρατθροφμε ότι οι τιμζσ που κζλουμε είναι για i=j

Παράδειγμα 3 - Άκροιςμα Διαγωνίου #include <stdio.h> #define SIZE 5 main () int matrix[size][size]; int i,j; int sum = 0; // Μεταβλθτι που αποκθκεφεται το άκροιςμα // Αρχικοποίθςθ for (i=0; i<size; i++) for (j=0; j<size; j++) matrix[i][j] = j+3; // Εφρεςθ Ακροίςματοσ for (i=0; i<size; i++) for (j=0; j<size; j++) if (i==j) sum += matrix[i][j]; //Εναλλατικά for (i=0; i<size; i++) sum += matrix[i][i]; printf( Sum: %d, sum);

Παράδειγμα 4 - Άκροιςμα Στιλθσ Γράψετε ζνα πρόγραμμα το οποίο δθμιουργεί τον πιο κάτω διςδιάςτατο πίνακα ςτθ μνιμθ και ςτθ ςυνζχεια εκτυπϊνει το άκροιςμα τθσ τρίτθσ ςτιλθσ (index 2) = 25 Παρατθροφμε ότι κζλουμε τισ τιμζσ όπου το j=2

Παράδειγμα 3 - Άκροιςμα Στιλθσ #include <stdio.h> #define SIZE 5 main () int matrix[size][size]; int i,j; int sum = 0; // Αρχικοποίθςθ for (i=0; i<size; i++) for (j=0; j<size; j++) matrix[i][j] = j+3; // Εφρεςθ Ακροίςματοσ for (i=0; i<size; i++) sum += matrix[i][2]; printf( Sum: %d, sum);

Πολυδιάςτατοι Πίνακεσ & Συναρτιςεισ o Όταν περνάμε πολυδιάςτατουσ πίνακεσ ςε ςυναρτιςεισ, τότε ακολουκείται θ ίδια λογικι με τθν περίπτωςθ των μονοδιάςτατων πινάκων (κλιςθ με τιμι) o Επομζνωσ δεν παράγεται ζνα νζο αντίγραφο του πίνακα αλλά αντίκετα, θ ςυνάρτθςθ μπορεί να κάνει κατευκείαν αλλαγζσ πάνω ςε αυτόν

Πίνακεσ και Συναρτιςεισ #include <stdio.h> #define SIZE 4 // Πρότυπο void FillArrayOne (int[ ][ ]) ; main ( ) int array [SIZE][SIZE]=; // Κλιςθ Συνάρτθςθσ FillArrayOne (array); Μετά τθν κλιςθ τθσ FillArrayOne: // Οριςμόσ Συνάρτθςθσ void FillArrayOne( int table[ ][SIZE] ) int i,j; for ( i = 0; i < SIZE; i++) for ( j = 0; j < SIZE; j++) table[i][j] = 1; array[0][1] = 1 array[0] [1] = 1 array[0] [2] = 1 array[0] [3] = 1 array[1][1] = 1 array[1] [1] = 1 array[1] [2] = 1 array[1] [3] = 1 array[2][1] = 1 array[2] [1] = 1 array[2] [2] = 1 array[2] [3] = 1 array[3][1] = 1 array[3] [1] = 1 array[3] [2] = 1 array[3] [3] = 1 Μόνο η πρώηη διάζηαζη μπορεί να παραληθθεί

Παράδειγμα Επεξεργαςίασ Βακμϊν o Γράψετε ζνα πρόγραμμα Το οποίο διαβάηει από τo πλθκτρολόγιο βακμοφσ 80 φοιτθτϊν. Για κάκε φοιτθτι διαβάηονται βακμοί για 5 μακιματα 90 60 70 89 45 (βακμοί 1ου φοιτθτι) 40 56 78 99 100 (βακμοί 2ου φοιτθτι) υπολογίηει και τυπϊνει (α) βακμοφσ κάκε φοιτθτι (β) το μζςο όρο για κάκε φοιτθτι Επικυμθτι εκτφπωςθ: Μζςοσ Όροσ 90.00 60.00 70.00 89.00 45.00 70.80 40.00 56.00 78.00 99.00 100.00 74.60

Παράδειγμα Επεξεργαςίασ Βακμϊν Τι πρζπει να γίνει; α) Να διαβαςτοφν δεδομζνα από το πλθκτρολόγιο και να αποκθκευτοφν ςε ζνα 2-διαςτάςεων πίνακα β) Υπολογιςμόσ μζςου όρου ανά φοιτθτι γ) Εκτφπωςθ αποτελεςμάτων

Παράδειγμα Επεξεργαςίασ Βακμϊν // Στακερζσ #define NUM_STUDENTS 80 #define NUM_COURSES 5 // Πίνακασ ο οποίοσ κρατά για κάκε φοιτθτι τθ βακμολογία // για κάκε μάκθμα float grade_table[num_students][num_courses] = ; // Πίνακασ ο οποίοσ κρατά για κάκε φοιτθτι τον // μζςο όρο τθσ βακμολογίασ float average_per_student[num_students]= ;

Παράδειγμα επεξεργαςίασ βακμϊν main() float grade_table[num_students][num_courses] = ; float average_per_student[num_students]= ; // Διάβαςμα δεδομζνων read_data(grade_table); // Υπολογιςμόσ μζςων όρων compute_averages(grade_table, average_per_student); // Εκτφπωςθ αποτελεςμάτων display_results(grade_table, average_per_student);

Παράδειγμα επεξεργαςίασ βακμϊν void read_data(float grade_table[][num_courses]) int i,j; for(i=0;i<num_students;i++) printf("student %d\n", i); for(j=0;j<num_courses;j++) scanf("%f", &grade_table[i][j]);

Παράδειγμα Επεξεργαςίασ Βακμϊν void compute_averages(float grade_table[][num_courses], float average_per_student[]) int i,j; for(i=0;i<num_students; i++) for(j=0;j<num_courses; j++) average_per_student[i]+=grade_table[i][j]; for(i=0;i<num_students; i++) average_per_student[i]/=num_courses;

Παράδειγμα Επεξεργαςίασ Βακμϊν void display_results(float grade_table[][num_courses], float average_per_student[]) int i,j; for(i=0;i<num_students; i++) for(j=0;j<num_courses;j++) printf("%5.2f ",grade_table[i][j]); printf("%5.2f\n",average_per_student[i]);

Τζλοσ διάλεξθσ