ΠΙΝΑΚΕΣ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ



Σχετικά έγγραφα
Εχουμε ήδη συναντήσει μονοδιάστατους πίνακες, οι οποίοι ορίζονται ως εξής:

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

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

ΠΡΟΓΡΜΜΑΤΑ ΣΕ C. Γράψτε σε γλώσσα προγραμματισμού C τη συνάρτηση:

ΠΕΡΙΣΣΟΤΕΡΑ ΠΑΡΑΔΕΙΓΜΑΤΑ ΜΕ ΧΡΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ. ΠΑΡ 1 ΔΙΑΒΑΣΜΑ-ΕΚΤΥΠΩΣΗ ΕΥΡΕΣΗ ΜΕΣΟΥ ΟΡΟΥ ΜΟΝΟΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ ΜΕ ΧΡΗΣΗ ΣΥΝΑΡΤΗΣΕΩΝ #include <stdio.

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

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

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

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

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 8 Ασκήσεις Πινάκων Ταξινόμηση Αναζήτηση. Γιώργος Λαμπρινίδης

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

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

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

Δείκτες & Πίνακες Δείκτες, Πίνακες

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

A[0] = 0; /* To μηδέν δεν έχει διαιρέτες */ for (i=1; i<n; i++) { S=0; for (d=1; d<=i; d++) if (i % d == 0) S += d; A[i] = S; }

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

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

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

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

ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ 8/9/2008

Εκτέλεση της εντολής1 και στη συνέχεια εκτέλεση της ΕΝΟΤΗΤΑΣ και της εντολής2 όσο η ΣΥΝΘΗΚΗ είναι αληθής.

Γλώσσα Προγραμματισμού C

Παραδείγματα με συναρτήσεις στη C

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

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

Συναρτήσεις. Εισαγωγή

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος

1. ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C++

ΣΧΕΔΙΑΣΗ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΣΜΙΚΟΥ. p: i: 3 p: i: 5

Εργαστήριο 2: Πίνακες

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

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

Εισαγωγή στην πληροφορική

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

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

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

Προγραμματισμός ΙI (E)

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

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

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

Αʹ. Πίνακες. Άσκηση 1. Λύση. Άσκηση 2. Λύση. Ασκήσεις Εργαστηρίου Προγραμματισμού

ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C

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

ΕΠΛ232: Εργαστήριο 2

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Τα δεδομένα στη C++ χωρίζονται σε 3 κατηγορίες: τους αριθμούς (numbers), τους χαρακτήρες (characters) και τις συμβολοσειρές (strings).

Διάλεξη 13: Δομές Δεδομένων ΙΙ (Ταξινομημένες Λίστες)

Υπολογισμός - Εντολές Επανάληψης

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

Δισδιάστατοι Πίνακες (2D Arrays) Εισαγωγή στη C++

Χαράλαµπος Σκόκος ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ I ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ C ΕΞΕΤΑΣΕΙΣ ΕΑΡΙΝΟΥ ΕΞΑΜΗΝΟΥ Ερωτήσεις

Ορισμός μεταβλητών δεικτών και αρχικοποίηση

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

ΠΕΚ ΤΡΙΠΟΛΗΣ ΕΠΙΜΟΡΦΩΣΗ ΕΚΠ/ΚΩΝ ΠΕ19,20 ΗΜ/ΝΙΑ ΣΧΕΔΙΟ ΜΑΘΗΜΑΤΟΣ

Κεφάλαιο : Επαναλήψεις (oι βρόχος While) ( ιάλεξη 9) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

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

Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8

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

Εισαγωγή στους Αλγόριθμους και τον Προγραμματισμό. 3η Διάλεξη Είσοδος Δεδομένων Συνθήκες Βρόχοι Παραδείγματα

242 -ΕισαγωγήστουςΗ/Υ

2ο σετ σημειώσεων. 1 Εντολές εκτέλεσης υπό συνθήκη. 19 Μαρτίου 2012

Κεφάλαιο ΙV: Δείκτες και πίνακες. 4.1 Δείκτες.

Εισαγωγή στην πληροφορική

ΕΡΓΑΣΤΗΡΙΟ 4: Μεταβλητές, Δομές Ελέγχου και Επανάληψης

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

ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ. Στην εξοικείωση με τη διαδικασία κατασκευής ενός Λεξικού Αναλυτή κάνοντας χρήση του lex.

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

Κεφάλαιο Πίνακες Ι. (Διάλεξη 16)

EΒ ΟΜΑ Α 4 Η. οµές επανάληψης while και do while

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

Νικόλαος Μιχαλοδημητράκης Σημειώσεις C (Εργαστήριο) 7 ο Μέρος 1

Ασκηή σεις 12ο Μαά θημα - Λυύ σεις

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

Δομημένος Προγραμματισμός (ΤΛ1006)

Πληροφορική 2. Δομές δεδομένων και αρχείων

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ

H ΓΛΩΣΣΑ C. Μάθηµα 12: υναµική έσµευση Μνήµης. ηµήτρης Ψούνης

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

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

5ο σετ σημειώσεων - Δείκτες

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

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

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

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

3 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΠΙΝΑΚΕΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

ΔΙΑΡΚΕΙΑ ΕΞΕΤΑΣΗΣ: 2 ΩΡΕΣ

ΚΕΦΑΛΑΙΑ 3 & 9 (ΠΙΝΑΚΕΣ)

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Πανεπιστήμιο Πελοποννήσου. Σχολή Θετικών Επιστημών & Τεχνολογίας. Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών. Προγραμματισμός Ι Εργαστήριο

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

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Transcript:

ΠΙΝΑΚΕΣ ΔΥΟ ΔΙΑΣΤΑΣΕΩΝ ΠΑΡΑΔΕΙΓΜΑΤΑ ΠΑΡ1 ΠΡΟΓΡΑΜΜΑ ΔΙΑΒΑΣΜΑΤΟΣ-ΕΚΤΥΠΩΣΗΣ ΚΑΙ ΕΥΡΕΣΗΣ ΤΟΥ ΜΕΣΟΥ ΟΡΟΥ ΣΤΟΙΧΕΙΩΝ ΔΙΣΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ NxM ΑΚΕΡΑΙΩΝ Σχόλιο:Οποιαδήποτε λειτουργία σε δισδιάστατο πίνακα απαιτεί τη χρήση 2 εντολών for void main() int sum=0,i,j,x[n][m];//το μέγεθος ενός πίνακα είναι πάντα σταθερό. float av; //Το i δείχνει τη γραμμή του στοιχείου και το j δείχνει τη στήλη του στοιχείου. Και τα δύο αρχίζουν πάντα από το 0. //Τα στοιχεία του δισδιάστατου πίνακα συμβολίζονται: //1η γραμμή -> x[0][0] x[0][1] //2η γραμμή -> x[1][0] x[1][1] //3η γραμμή -> x[2][0] x[2][1] //To for κάνει προσπέλαση στις γραμμές του πίνακα //To for κάνει προσπέλαση στις στήλες του πίνακα //Tα for αυτά υλοποιούν την εκτύπωση του πίνακα printf("\n");/ //Tα for αυτά υλοποιούν την εύρεση του αθροίσματος των στοιχείων του πίνακα //To for κάνει προσπέλαση στις γραμμές του πίνακα //To for κάνει προσπέλαση στις στήλες του πίνακα sum+=x[i][j]; //το ίδιο ακριβώς με το sum=sum+x[i][j]; av=(float)sum/(n*m); //Εύρεση μέσου όρου του πίνακα. 1

printf("\no mesos oros tou pinaka = %.2f \n",av); ΠΑΡ2 ΠΡΟΓΡΑΜΜΑ ΔΙΑΒΑΣΜΑΤΟΣ-ΕΚΤΥΠΩΣΗΣ ΚΑΙ ΕΥΡΕΣΗΣ ΤΟΥ ΜΕΓΙΣΤΟΥ ΣΤΟΙΧΕΙΟΥ ΚΑΘΕ ΓΡΑΜΜΗΣ ΚΑΙ ΚΑΘΕ ΣΤΗΛΗΣ ΕΝΟΣ ΔΙΣΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ NxM ΑΚΕΡΑΙΩΝ void main() //Αρχή προγράμματος int max,i,j,x[n][m];//το μέγεθος ενός πίνακα είναι πάντα σταθερό. //Το i δείχνει τη γραμμή του στοιχείου και το j δείχνει τη στήλη του στοιχείου. Και τα δύο αρχίζουν πάντα από το 0. //διάβασμα πίνακα //To for κάνει προσπέλαση στις γραμμές του πίνακα //To for κάνει προσπέλαση στις στήλες του πίνακα // εκτύπωση πίνακα //To for αυτό τυπώνει μια γραμμή του πίνακα στην 1η επανάληψη το x[0][0],x[0][1] στη 2η επανάληψη το x[1][0],x[1][1] στην 3η επανάληψη το x[2][0],x[2][1] //To for αυτό κάνει προσπέλαση στις γραμμές του πίνακα max=x[i][0];// Σε κάθε γραμμή υποθέτω ότι το αρχικό στοιχείο είναι max //Ελέγχω τα υπόλοιπα στοιχεία της γραμμής και αν κάποιο από αυτά είναι μεγαλύτερο τουmax τότε κάνουμε αυτό max if (x[i][j]>max) max=x[i][j]; printf("megisto stoixeio tis %d grammis = %d\n",i,max); //Τυπώνουμε το μέγιστο στοιχείο της κάθε γραμμής 2

//To for αυτό κάνει προσπέλαση στις στήλες του πίνακα max=x[0][j];//σε κάθε στήλη υποθέτω ότι το αρχικό της στοιχείο είναι max //Ελέγχουμε τα υπόλοιπα στοιχεία της στήλης και αν κάποιο από αυτά είναι μεγαλύτερο του max τότε κάνουμε αυτό max if (x[i][j]>max) max=x[i][j]; printf("megisto stoixeio tis %d stilis = %d\n",j,max); //Τυπώνουμε το μέγιστο στοιχείο της κάθε στήλης ΠΑΡ3 ΠΡΟΓΡΑΜΜΑ ΔΙΑΒΑΣΜΑΤΟΣ-ΕΚΤΥΠΩΣΗΣ ΚΑΙ ΕΥΡΕΣΗΣ ΤΟΥ ΜΕΣΟΥ ΟΡΟΥ ΚΑΘΕ ΓΡΑΜΜΗΣ ΚΑΙ ΚΑΘΕ ΣΤΗΛΗΣ ΕΝΟΣ ΔΙΣΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ NxM ΑΚΕΡΑΙΩΝ void main() int sum,i,j,x[n][m];//το μέγεθος ενός πίνακα είναι πάντα σταθερό float av; //To for κάνει προσπέλαση στις γραμμές του πίνακα //To for κάνει προσπέλαση στις στήλες του πίνακα //Tα for αυτά υλοποιούν την εκτύπωση του πίνακα //To for αυτό κάνει προσπέλαση στις γραμμές του πίνακα sum=0;//πρέπει ο αθροιστής να αρχικοποιηθεί με 0 για την κάθε γραμμή μέσα στην επανάληψη //To for κάνει προσπέλαση στις στήλες του πίνακα sum+=x[i][j]; 3

av=(float)sum/m;//υπολογίζουμε το μέσο όρο της κάθε γραμμής printf("mesos oros %d grammis = %.2f\n",i,av); //Τυπώνεται ο μέσος όρος κάθε γραμμής //To for αυτό κάνει προσπέλαση στις στήλες του πίνακα sum=0;//πρέπει ο αθροιστής να αρχικοποιηθεί με 0 για την κάθε στήλη μέσα στην επανάληψη sum+=x[i][j]; av=(float)sum/n;//υπολογίζουμε το μέσο όρο της κάθε στήλης printf("mesos oros %d stilis = %.2f\n",j,av); //Τυπώνεται ο μέσος όρος κάθε στήλης sum=0;//πρέπει ο αθροιστής να αρχικοποιηθεί με 0 μια μόνο φορά εκτός της επανάληψης //To for κάνει προσπέλαση στις γραμμές του πίνακα //To for κάνει προσπέλαση στις στήλες του πίνακα sum+=x[i][j]; av=(float)sum/(m*n);//υπολογίζουμε το μέσο όρο όλου του πίνακα printf("\nmesos oros pinaka = %.2f\n",av);//Τυπώνεται ο μέσος όρος του πίνακα ΠΑΡ4 ΠΡΟΓΡΑΜΜΑ ΔΙΑΒΑΣΜΑΤΟΣ-ΕΚΤΥΠΩΣΗΣ ΚΑΙ ΕΝΑΛΛΑΓΗΣ 1ης ΚΑΙ ΤΕΛΕΥΤΑΙΑΣ ΓΡΑΜΜΗΣ ΚΑΙ 1ης ΚΑΙ ΤΕΛΕΥΤΑΙΑΣ ΣΤΗΛΗΣ ΕΝΟΣ ΔΙΣΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ ΑΚΕΡΑΙΩΝ ΝxΜ void main() int temp,i,j,x[n][m]; //To for αυτό κάνει προσπέλαση στις γραμμές του πίνακα //To for κάνει προσπέλαση στις στήλες του πίνακα 4

printf("\n"); temp=x[0][j]; x[0][j]=x[2][j]; x[2][j]=temp; //υλοποιεί την εναλλαγή της 1ης και της τελευταίας γραμμής printf("\npinakas Me enallagmenes grammes\n"); // υλοποιεί την εναλλαγή της 1ης και της τελευταίας στήλης temp=x[i][0]; x[i][0]=x[i][1]; x[i][1]=temp; printf("\npinakas Me enallagmenes stiles\n"); printf("\n"); ΠΑΡ5 ΠΡΟΓΡΑΜΜΑ ΔΙΑΒΑΣΜΑΤΟΣ-ΕΚΤΥΠΩΣΗΣ ΚΑΙ ΤΑΞΙΝΟΜΗΣΗΣ ΚΑΘΕ ΓΡΑΜΜΗΣ ΕΝΟΣ ΔΙΣΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ ΑΚΕΡΑΙΩΝ ΝxΜ 5

void main() int temp,i,j,x[n][m],k; //To for αυτό κάνει προσπέλαση στις γραμμές του πίνακα //To for αυτό κάνει προσπέλαση στις στήλες του πίνακα //Tα for αυτά υλοποιούν την εκτύπωση του πίνακα //Ο χαρακτήρας \t συμβολίζει το tab δηλαδή το χαρακτήρα των 8 κενών διαστημάτων for (k=1;k<=m-1;k++) for (j=0;j<=m-1-k;j++) if (x[i][j]>x[i][j+1]) temp=x[i][j]; x[i][j]=x[i][j+1]; x[i][j+1]=temp; // εκτύπωση του πίνακα printf("\n"); ΠΑΡ6 ΠΡΟΓΡΑΜΜΑ ΔΙΑΒΑΣΜΑΤΟΣ-ΕΚΤΥΠΩΣΗΣ ΚΑΙ ΕΝΑΛΛΑΓΗΣ 1ης ΚΑΙ ΤΕΛΕΥΤΑΙΑΣ ΓΡΑΜΜΗΣ ΚΑΙ 1ης ΚΑΙ ΤΕΛΕΥΤΑΙΑΣ ΣΤΗΛΗΣΕΝΟΣ ΔΙΣΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ ΑΚΕΡΑΙΩΝ ΝxM 6

void main() int temp,i, j, x[n][m], y[n][m], z[n][m]; //To for αυτό κάνει προσπέλαση στις γραμμές του πίνακα //To for αυτό κάνει προσπέλαση στις στήλες του πίνακα //Tα for αυτά υλοποιούν την εκτύπωση του πίνακα //To for αυτό τυπώνει μια γραμμή του πίνακα δηλαδή στην 1η επανάληψη το x[0][0],x[0][1], στη 2η επανάληψη το x[1][0],x[1][1] και στην 3η επανάληψη το x[2][0],x[2][1] //Ο χαρακτήρας \t συμβολίζει το tab δηλαδή το χαρακτήρα των 8 κενών διαστημάτων //Ο πίνακας x αντιγράφεται στους πίνακες y και z y[i][j]=x[i][j]; z[i][j]=x[i][j]; //To for αυτά υλοποιεί την εναλλαγή της 1ης και της τελευταίας γραμμής temp=y[0][j]; y[0][j]=y[2][j]; y[2][j]=temp; printf("\npinakas Me enallagmenes grammes\n"); printf("%d\t",y[i][j]); //Ο χαρακτήρας \t συμβολίζει το tab δηλαδή το χαρακτήρα των 8 κενών διαστημάτων //To for αυτά υλοποιεί την εναλλαγή της 1ης και της τελευταίας στήλης temp=x[i][0]; 7

z[i][0]=z[i][1]; z[i][1]=temp; printf("\npinakas Me enallagmenes stiles\n"); printf("%d\t",z[i][j]); 8