Προγραμματισμός ΗΥ Ενότητα 6: Δισδιάστατοι πίνακες.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Παράδειγμα 2: Κινηματογράφοι Να γραφεί πρόγραμμα το οποίο:
Advertisements

Ποιότητα Λογισμικού Ενότητα 4: Παράδειγμα Ελέγχου. Διδάσκων: Γεώργιος Κακαρόντζας, Καθηγητής Εφαρμογών. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής Εκπαίδευσης.
Διδακτική Πληροφορικής
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 4: Συμβολοσειρές και Δομές Ελέγχου. Διδάσκων: Νικόλαος Θ Λιόλιος,
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 9: Κληρονομικότητα. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής. Τμήμα.
Δομές Δεδομένων και Αρχεία Ενότητα 7: Η δομή Στοίβα Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας.
Δομές Δεδομένων και Αρχεία Ενότητα 10: Κυκλικά και Διπλά Συνδεδεμένη Λίστα Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I.
Δομές Δεδομένων και Αρχεία
Διδακτική Πληροφορικής Ενότητα 2: Η εξέλιξη των εργαλείων της Εκπαίδευσης. Διδάσκων: Γεώργιος Σούλτης, Επίκουρος Καθηγητής. Τμήμα Μηχανικών Πληροφορικής,
Διδακτική Πληροφορικής Ενότητα 3: Η Πληροφορική στην Εκπαίδευση. Διδάσκων: Γεώργιος Σούλτης, Επίκουρος Καθηγητής. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής.
Δομές Δεδομένων και Αρχεία Ενότητα 4: Ευρετηριασμένα Αρχεία Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 6: Πίνακες και Παράμετροι στην main. Διδάσκων: Νικόλαος Θ Λιόλιος,
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 2: Μεταβλητές και Τύποι Δεδομένων. Διδάσκων: Νικόλαος Θ Λιόλιος,
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 2: Συναρτήσεις Εισόδου ⁄ Εξόδου. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής.
Δομές Δεδομένων και Αρχεία
Έλεγχος Ροής με την Εντολή Επανάληψης FOR 1/9
Δομές Δεδομένων και Αρχεία Ενότητα 8: Η δομή Ουρά Ηλίας Κ. Σάββας, Αναπληρωτής Καθηγητής, Τμήμα Μηχανικών Πληροφορικής Τ.Ε., T.E.I. Θεσσαλίας.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 8: Κατασκευαστές. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής. Τμήμα.
Αντικειμενοστραφής Προγραμματισμός Ι
Υδραυλικά & Πνευματικά ΣΑΕ
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 10: Αφηρημένες τάξεις. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής.
Χρονικός Προγραμματισμός Έργων (Εργαστήριο) Ενότητα 5: Αναθέσεις σε πόρους Κλεάνθης Συρακούλης, Επίκουρος Καθηγητής, Τμήμα Διοίκησης Επιχειρήσεων, T.E.I.
Τεχνολογία Ξύλου 1 Ενότητα 13: Ποιότητα και Πιστοποίηση Ξυλείας Διδάσκων: Δρ. Μιχάλης Σκαρβέλης, Αναπληρωτής Καθηγητής. Τμήμα Σχεδιασμού και Τεχνολογίας.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 4: Επαναληπτικές δομές. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής. Τμήμα Μηχανικών.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Εκπαιδευτικά Προγράμματα με Χρήση Η/Υ ΙΙ Θέμα «παιγνίδια» (website address) Διδάσκουσα: Καθηγήτρια Τζένη.
Αρχές Διοίκησης και Διαχείρισης Έργων Ενότητα 12: Οικονομική Διαχείριση Έργων – Ταμειακές Ροές. Διδάσκων: Φιτσιλής Παναγιώτης, Καθηγητής. Τμήμα Διοίκησης.
Τμήμα Τεχνολόγων Γεωπόνων Τίτλος Μαθήματος: ΚΑΛΛΩΠΙΣΤΙΚΑ ΔΕΝΤΡΑ ΚΑΙ ΘΑΜΝΟΙ Ενότητα 12: Οδηγίες δημιουργίας φυτολογίου Γρηγόριος Βάρρας Αν. Καθηγητής Άρτα,
Διοίκηση Ανθρωπίνων Πόρων Ενότητα 3: Προσέλκυση Ανθρώπινου Δυναμικού. Διδάσκων: Γεώργιος Ασπρίδης, Επίκουρος Καθηγητής. Τμήμα Διοίκησης Επιχειρήσεων.
ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ενότητα 12 : Η χρήση της MySQL στο Ηλεκτρονικό εμπόριο (ΙΙI) Ιωάννης Τσούλος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου.
Ενότητα 7 : Χρήση Πινάκων στο Ηλεκτρονικό εμπόριο (I) Ιωάννης Τσούλος
Τεχνολογία και Προγραμματισμός Υπολογιστών
Αντικειμενοστραφής Προγραμματισμός Ι
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Συστήματα Αυτομάτου Ελέγχου II
Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι
Χρονικός Προγραμματισμός Έργων (Εργαστήριο)
Προγραμματισμός ΗΥ Ενότητα 11: Header Files. Διδάσκων: Ηλίας Κ Σάββας,
Λειτουργικά Συστήματα
for (παράσταση_1; παράσταση_2; παράσταση_3)
Τεχνολογία και Προγραμματισμός Υπολογιστών
Χρονικός Προγραμματισμός Έργων (Εργαστήριο)
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(9)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Ενότητα 9: Δείκτες και Δυναμική Διαχείριση Μνήμης.
Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου
Διαχείριση Κινδύνου Ενότητα 7: Παρακολούθηση Κινδύνων.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(3)
Ενότητα 4 : Τελεστές της γλώσσας PHP Ιωάννης Τσούλος
Χρονικός Προγραμματισμός Έργων (Εργαστήριο)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Επιχειρησιακές Επικοινωνίες
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(7)
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(4)
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΕνΟτητα # 8: Ms Word V CLAUDIA BOETTCHER ΤμΗμα ΙστορΙαΣ
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(5)
ΠΑΡΟΥΣΙΑΣΕΙΣ ΜΑΘΗΜΑΤΟΣ ΠΙΘΑΝΟΤΗΤΕΣ(10)
ΑΝΑΓΝΩΡΙΣΗ ΠΡΟΤΥΠΩΝ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Προγραμματισμός ΗΥ Ενότητα 12: Αρχεία Δομών. Διδάσκων: Ηλίας Κ Σάββας,
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ
Μεταγράφημα παρουσίασης:

Προγραμματισμός ΗΥ Ενότητα 6: Δισδιάστατοι πίνακες. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Προγραμματισμός ΗΥ Ενότητα 6: Δισδιάστατοι πίνακες. Διδάσκων: Ηλίας Κ Σάββας, Αναπληρωτής Καθηγητής. Τμήμα Μηχανικών Πληροφορικής, Τεχνολογικής Εκπαίδευσης.

Άδειες χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται στην παρακάτω άδεια χρήσης Creative Commons (C C): Αναφορά δημιουργού (B Y), Μη εμπορική χρήση (N C), Μη τροποποίηση (N D), 3.0, Μη εισαγόμενο. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.

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

Σκοποί ενότητας Ο αναγνώστης να μπορεί να: 1) διαχειρίζεται πίνακες δύο διαστάσεων. 2) διαχειρίζεται ειδικές κατηγορίες πινάκων, όπως συμμετρικούς, τριγωνικούς πίνακες. 3) δημιουργεί σύνθετα προγράμματα όπου θα χρησιμοποιεί πίνακες. Δισδιάστατοι Πίνακες

Περιεχόμενα ενότητας 1) Πίνακες δύο διαστάσεων 2) Πίνακες και ο βρόγχος του for 3) Άσκηση με διαγώνιο 4) Μαγικό τετράγωνο 5) Πίνακας αναφορά σύνταξης Δισδιάστατοι Πίνακες

Πολυδιάστατοι πίνακες Ένας πίνακας μπορεί να είναι 2 διαστάσεων, αλλά και παραπάνω! Ένας πίνακας δύο διαστάσεων, είναι η επανάληψη ενός πίνακα μίας διάστασης, και ούτω καθεξής. Α4x3 : 4 γραμμές, 3 στήλες Δισδιάστατοι Πίνακες

Πίνακες δύο διαστάσεων (2-d) Δισδιάστατοι Πίνακες

Χρησιμοποιώντας πίνακες δύο διαστάσεων (2-d) Δήλωση ενός πίνακα δύο διαστάσεων: Τύπος_δεδομένων όνομα_μεταβλητής[πλήθος γραμμών][πλήθος στηλών]; int A[10][2]; float x[100][5]; char Epitheta[20][20], Onomata[20][10]; Αρχικοποίηση πινάκων δύο διαστάσεων: Τύπος_δεδομένων όνομα_μεταβλητής[πλήθος γραμμών][πλήθος στηλών] = {τιμές χωρισμένες με κόμματα}; int A[3][2] = {12,52,34,19,22,31};  Δισδιάστατοι Πίνακες

Αρχικοποίηση 2-d πινάκων int A[3][2] = {12,52,34,19,22,31}; αλλά καλύτερα: int A[3][2] = {{12,52}, {34,19}, {22,31}}; Δισδιάστατοι Πίνακες

Πίνακες και ο βρόγχος του for a[N][M] /* Εισαγωγή Πίνακα */ for (i=0; i<N; i++) for (j=0; j<M; j++) { printf(“\n Εισαγωγή του %d, %d στοιχείου: “, i+1, j+1); scanf(“%d”, &a[i][j]); } /* Εκτύπωση Πίνακα */ for (i=0; i<N; i++) { printf(“\n”); for (j=0; j<M; j++) printf(“ %d: “, a[i][j]); } Δισδιάστατοι Πίνακες

Άσκηση: Εύρεση αρνητικών τιμών Να γραφεί ένα πρόγραμμα, το οποίο αφού εισάγει έναν 4 x 4 πίνακα, στην συνέχεια να ψάχνει τον πίνακα, για να βρει εάν περιέχει αρνητικές τιμές, και εάν περιέχει, να τις εκτυπώνει, μαζί με τους δείκτες των αντίστοιχων θέσεων. Δισδιάστατοι Πίνακες

Πρόγραμμα: Εύρεση αρνητικών τιμών #include <stdio.h> #define N 4 /* πλήθος γραμμών */ #define M 4 /* πλήθος στηλών */ int main() { int A[N][M], i, j; for (i=0; i<N; i++) for (j=0; j<M; j++) { printf("\n Εισαγωγή του %d, %d στοιχείου : ", i+1, j+1); scanf("%d", &A[i][j]); } for (j=0; j<M; j++) if (A[i][j] < 0) printf("\n %d, %d : %d", i+1, j+1, A[i][j]); printf("\n\n"); return 0; Δισδιάστατοι Πίνακες

Στατιστικά δεδομένα πλοήγησης μιας ιστοσελίδας (1 από 2) Να υπολογισθεί η μέση τιμή του πλήθους προσπέλασης μιας ιστοσελίδας, σε ένα διάστημα 5 εβδομάδων. Επίσης, να υπολογισθεί και η μέση τιμή προσπέλασης της σελίδας, και σε εβδομαδιαία βάση. Ανάλυση: Το πλήθος των προσπελάσεων της ιστοσελίδας, για ένα διάστημα 5 εβδομάδων, μπορεί να αποθηκευτεί σε ένα πίνακα 5 x 7. Επτά στήλες για τις 7 ημέρες της κάθε βδομάδας. Πέντε γραμμές για τις 5 βδομάδες. Δισδιάστατοι Πίνακες

Στατιστικά δεδομένα πλοήγησης μιας ιστοσελίδας (2 από 2) (a) Όλες οι περιεχόμενες τιμές, πρέπει να αθροιστούν για τον υπολογισμό της μέσης τιμής τους. (b) Για τον υπολογισμό των εβδομαδιαίων αθροισμάτων, πρέπει να αθροιστεί κάθε στήλη ξεχωριστά. (c) Από τα ξεχωριστά αυτά εβδομαδιαία αθροίσματα, θα προκύψουν οι πέντε μέσες τιμές ανά εβδομάδα. (d) Αυτές οι πέντε μέσες τιμές, μπορούν να αποθηκευτούν σε ένα μονοδιάστατο πίνακα, πέντε στοιχείων. (e) Οι εκτυπώσεις, πρέπει να είναι όπως στην διαφάνεια που ακολουθεί: Δισδιάστατοι Πίνακες

Εκτυπώσεις Εβδομάδα. Μέση τιμή προσπελάσεων. ----------------------------------------------------- 1 ????.?? 2 ????.?? 3 ????.?? 4 ????.?? 5 ????.?? Η συνολική μέση τιμή είναι ????.?? Δισδιάστατοι Πίνακες

Πρόγραμμα: Στατιστικά πλοήγησης (1 από 2) #include <stdio.h> #define N 5 /* εβδομάδες */ #define M 7 /* ημέρες ανά εβδομάδα */ int main() { int hits[N][M], i, j, total = 0; float averageTotal, averageWeek[N]; for (i=0; i<N; i++) for (j=0; j<M; j++) { printf("\n Πλήθος προσπελάσεων της εβδομάδας %d και ημέρας %d : ", i+1, j+1); scanf("%d", &hits[i][j]); } Δισδιάστατοι Πίνακες

Πρόγραμμα: Στατιστικά πλοήγησης (2 από 2) for (i=0; i<N; i++) for (j=0; j<M; j++) total += hits[i][j]; averageTotal = (float) total / (N*M); for (i=0; i<N; i++) { total = 0; averageWeek[i] = (float) total / M; } /* Headings */ printf("\n\n Εβδομάδα \t\t Μέση Τιμή Προσπελάσεων"); printf("\n ------------------------------- \n\n"); printf("\n %d \t\t %.2f", i+1, averageWeek[i]); printf("\n\n Η συνολική μέση τιμή είναι %.2f \n\n", averageTotal); return 0; } Μέση τιμή προσπελάσεων της ιστοσελίδας μας για μία περίοδο 5 εβδομάδων. Μέση τιμή προσπελάσεων της ιστοσελίδας μας σε εβδομαδιαία βάση. Δισδιάστατοι Πίνακες

Άσκηση Να γράψετε ένα πρόγραμμα, το οποίο να ‘γεμίζει’ έναν Ν x Ν, (όπου Ν = 5) πίνακα ακεραίων, με 1, εκτός των στοιχείων που βρίσκονται στις διαγωνίους του, που πρέπει να είναι 0. Δισδιάστατοι Πίνακες

Στοιχεία διαγωνίων for (i=0; i<N; i++) for (j=0; j<N; j++) #include <stdio.h> #define N 5 int main() { int a[N][N], i, j; for (i=0; i<N; i++) for (j=0; j<N; j++) if (i == j) a[i][j] = 1; else if (N-i-1 == j) a[i][j] = 0; printf("\n\n"); for (i=0; i<N; i++) { printf("\n"); for (j=0; j<N; j++) printf("%5d \t", a[i][j]); } return 0; Δισδιάστατοι Πίνακες

Μαγικό τετράγωνο Σε ένα μαγικό τετράγωνο, το άθροισμα των γραμμών, στηλών, και διαγωνίων, είναι το ίδιο. Γράψτε ένα πρόγραμμα που να ελέγχει, εάν ένα δεδομένο τετράγωνο είναι μαγικό. Δισδιάστατοι Πίνακες

Μαγικό τετράγωνο: Ανάλυση Έστω ο τετραγωνικός πίνακας a (N x N) : N γραμμές,  N αθροίσματα. N στήλες,  N αθροίσματα. 2 διαγώνιοι,  2 αθροίσματα. Χρειαζόμαστε έναν μονοδιάστατο πίνακα 2N+2 στοιχείων (Results (2N + 2) ), για να αποθηκεύσουμε τα αθροίσματα, και τότε, θα τα συγκρίνουμε να δούμε εάν είναι ίσα! Δισδιάστατοι Πίνακες

Μαγικό τετράγωνο: Πρόγραμμα #include <stdio.h> #define N 5 int main() { int a[N][N], i, j, total = 0; int Results[2*N+2], flag = 0; for (i=0; i<N; i++) for (j=0; j<N; j++) { printf("\n Εισαγωγή του %d, %d στοιχείου του πίνακα : ", i+1, j+1); scanf("%d", &a[i][j]); } Δισδιάστατοι Πίνακες

Μαγικά τετράγωνα (άθροισμα στηλών) Στήλες: a[0][0]+a[1][0]+a[2][0]+...+a[N-1][0]; a[0][1]+a[1][1]+a[2][1]+...+a[N-1][1]; ....................................................... a[0][N-1]+a[1][N-1]+a[2][N-1] +...+a[N-1][N-1]; /* στήλες */ for (i=0; i<N; i++) { total = 0; for (j=0; j<N; j++) total += a[j][i]; Results[i] = total; } Δισδιάστατοι Πίνακες

Μαγικά τετράγωνα (άθροισμα γραμμών) Γραμμές: a[0][0]+a[0][1]+a[0][2]+...+a[0][N-1]; a[1][0]+a[1][1]+a[1][2]+...+a[1][N-1]; ....................................................... a[N-1][0]+a[N-1][1]+a[N-1][2]+...+a[N-1][N-1]; /* γραμμές*/ for (i=0; i<N; i++) { total = 0; for (j=0; j<N; j++) total += a[i][j]; Results[N+i] = total; } Δισδιάστατοι Πίνακες

Μαγικά τετράγωνα (άθροισμα διαγωνίων) Διαγώνιοι: 1: a[0][0]+a[1][1]+a[2][2]+...+a[N-1][N-1]; 2: a[N-1][0]+a[N-2][1]+a[N-3][2]+...+a[0][N-1]; /* διαγώνιοι */ total = 0; for (i=0; i<N; i++) total += a[i][i]; Results[2*N] = total; total += a[N-i-1][i]; Results[2*N+1] = total; Δισδιάστατοι Πίνακες

Μαγικά τετράγωνα (σύγκριση αθροισμάτων) printf("\n\n"); for (i=0; i<2*N+2-1; i++) { if (Results[i] != Results[i+1]) flag = 1; printf("%5d", Results[i]); } if (flag == 0) printf("\n\n ΜΑΓΙΚΟ ΤΕΤΡΑΓΩΝΟ!!! \n\n"); else printf("\n\n ΔΕΝ είναι μαγικό τετράγωνο. \n\n"); return 0; Δισδιάστατοι Πίνακες

Γρήγορος πίνακας αναφοράς σύνταξης Ενέργεια Σύνταξη Παραδείγματα Δήλωση πινάκων Τύπος_δεδομένων όνομα_πίνακα[d1][d2]..; d1  πλήθος γραμμών, d2  πλήθος στηλών, ............... int Ages[100]; float x[N]; float temperatures[52][7]; char Name[40]; Δείκτες πινάκων Όνομα_πίνακα[i][j]... Υπενθύμιση: οι δείκτες των πινάκων ΠΡΈΠΕΙ να είναι ακέραιες μεταβλητές! Ages[6] = 21; x[2] = x[1]*2; temperatures[2][5] = -3; Name[0] = ‘I’ Δισδιάστατοι Πίνακες

Τέλος έκτης ενότητας