Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

1 Ολυμπιάδα Πληροφορικής Μάθημα 5. 2 Στόχοι μαθήματος Πίνακες 2 διαστάσεων.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "1 Ολυμπιάδα Πληροφορικής Μάθημα 5. 2 Στόχοι μαθήματος Πίνακες 2 διαστάσεων."— Μεταγράφημα παρουσίασης:

1 1 Ολυμπιάδα Πληροφορικής Μάθημα 5

2 2 Στόχοι μαθήματος Πίνακες 2 διαστάσεων

3 Εισαγωγή Μπορείτε να σκέφτεστε ότι ένας πίνακας 2 διαστάσεων είναι ένας πίνακας με πολλές γραμμές και στήλες Όλα τα δεδομένα του πίνακα πρέπει να είναι το ιδίου τύπου Κάθε στοιχείο του πίνακα χαρακτηρίζεται από 2 δείκτες. Έναν που δείχνει την γραμμή και έναν που δείχνει τη στήλη που βρίσκεται το στοιχείο. 3

4 Δήλωση Πινάκων Τύπος δεδομένων όνομα πίνακα[αριθμός γραμμών][αριθμός στηλών]; Π.χ. int a[5][2]; Η παραπάνω δήλωση δεσμεύει χώρο στη μνήμη ώστε να αποθηκευτούν 10 ακέραιοι χωρισμένοι σε δύο στήλες των 5 4

5 int num[3][2]; Πίνακας με 3 γραμμές και 2 στήλες Πίνακες 2 διαστάσεων num[0][0]num[0][1] num[1][0]num[1][1] num[2][0]num[2][1]

6 Παράδειγμα 1 Να δημιουργήσετε το πρόγραμμα που διαβάζει έναν πίνακα ακεραίων αριθμών 4Χ5 από το αρχείο par1.in και τυπώνει το άθροισμα της κάθε γραμμής στο αρχείο par1.out 6

7 Παράδειγμα 1 #include using namespace std; int main(){ FILE *out,*in; int i,j,sum,a[4][5]; in=fopen("par1.in","r"); out=fopen("par1.out","w"); for(i=0;i<4;i++) for(j=0;j<5;j++) fscanf(in,"%d",&a[i][j]); for(i=0;i<4;i++){ sum=0; for(j=0;j<5;j++) sum=sum+a[i][j]; fprintf(out,"%d\n",sum); } fclose(in); fclose(out); } 7

8 Παράδειγμα 2 Μέσα στο αρχείο par2.in υπάρχει ένας ακέραιος αριθμός Ν (0<N<=200) που αντιστοιχεί στο μέγεθος του τετραγωνικού πίνακα ΝxN που ακολουθεί. Να δημιουργήσετε το πρόγραμμα που αντικαθιστά όλα τα αρνητικά στοιχεία του πίνακα με το 0 και τυπώνει το νέο πίνακα στο αρχείο par2.out 8

9 Παράδειγμα 2 #include #define size 200 using namespace std; int main(){ FILE *out,*in; int i,j,N,a[size][size]; in=fopen("par2.in","r"); out=fopen("par2.out","w"); fscanf(in,"%d",&N); for(i=0;i<N;i++) for(j=0;j<N;j++){ fscanf(in,"%d",&a[i][j]); if(a[i][j]<0) a[i][j]=0; } for(i=0;i<N;i++){ for(j=0;j<N;j++) fprintf(out,"%d ",a[i][j]); fprintf(out,"\n"); } fclose(in); fclose(out); return 0; } 9


Κατέβασμα ppt "1 Ολυμπιάδα Πληροφορικής Μάθημα 5. 2 Στόχοι μαθήματος Πίνακες 2 διαστάσεων."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google