ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ. Παράδειγμα 1 Δήλωση και αρχικοποίηση μονοδιάστατου πίνακα [5] με χρήση δομής επανάληψης με συνθήκη στην είσοδο και μετρητή.

Σχετικά έγγραφα
Τμήμα Πληροφορικής & Επικοινωνιών Δρ. Θεόδωρος Γ. Λάντζος

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

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

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

Προγραμματισμός Ι. Θεματική ενότητα 6: Πίνακες αλφαριθμητικά

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

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

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

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

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

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

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

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

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

Διάλεξη 2: Επανάληψη Προγραμματισμού Συμβολοσειρές (strings) Διδάσκων: Παναγιώτης Ανδρέου

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

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

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

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

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

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

Στόχοι και αντικείμενο ενότητας. Τύπος πίνακα. Τύπος πίνακα (συν.) #6. Πίνακες και Δείκτες

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

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

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

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

Αρχές Προγραμματισμού

ΑΣΚΗΣΗ 7: ΑΛΦΑΡΙΘΜΗΤΙΚΑ

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings)

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

Διάλεξη 8η: Αλφαριθμητικά (strings)

Τύποι Δεδομένων Είσοδος/Έξοδος

Επεξεργασία κειμένου και συμβολοσειρών σε C

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

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

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

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

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

TMHMA TEXNΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛ/ΝΙΩΝ Προγραμματισμός Ι ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ , Α ΕΞΑΜΗΝΟ Βασίλης Μποζαντζής. Βασίλης Μποζαντζής

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

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

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

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

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

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

Επανάληψη για τις Τελικές εξετάσεις. (Διάλεξη 24) ΕΠΛ 032: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Δομημένος Προγραμματισμός Θεωρία

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

Προγραμματισμός Ι (ΗΥ120)

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

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

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

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

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

char name[5]; /* define a string of characters */

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΕΞΕΤΑΣΗ IOYNIOY 2018 ΘΕΜΑΤΑ Α ΟΝΟΜΑΤΕΠΩΝΥΜΟ:... ΑΕΜ: ΕΞΑΜΗΝΟ:

Συµβολοσειρές - Strings

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

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

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Προγραμματισμός Ι (ΗΥ120)

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

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

3. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Β' μέρος: switch και :? )

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

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

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

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

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

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

Επανάληψη για τις Τελικές εξετάσεις

Εισαγωγή στους Δείκτες (Pointers)

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

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

scanf() scanf() stdin scanf() printf() int float double %lf float

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

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

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

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

"ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ" (ΕΜ102), ΕΡΓΑΣΙΑ 1η

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

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

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

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

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

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

Αλφαριθμητικά, πίνακες και δείκτες

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

Υπολογισμός - Εντολές Ελέγχου

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

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

2 η Διάλεξη C++ Δρ. Χρήστος Δρόσος ΑΕΙ ΠΕΙΡΑΙΑ ΤΤ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ

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

Κεφάλαιο : Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ. Mε την εντολή αυτή μπορούμε να δημιουργήσουμε έναν καινούριον υποκατάλογο.

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

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

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

Κεφάλαιο : Επαναλήψεις (for, do-while)

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

Transcript:

ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Παράδειγμα 1 Δήλωση και αρχικοποίηση μονοδιάστατου πίνακα [5] με χρήση δομής επανάληψης με συνθήκη στην είσοδο και μετρητή. int main() int myarray[5]; int i; for(i=0;i<5;i++)//loop 4 times printf("value for myarray[%d]:",i); scanf("%d", &myarray[i]); for(i=0;i<5;i++) printf("myarray[%d] is %d\n",i,myarray[i]); return 0; Εάν βάλουμε στον πίνακα τις τιμές 1,2,3,45,100 θα πάρουμε την έξοδο: Value for myarray[0]:1 Value for myarray[0]:2 Value for myarray[0]:3 Value for myarray[0]:45 Value for myarray[0]:100 myarray[0] is 1 myarray[0] is 2 myarray[0] is 3 myarray[0] is 45 myarray[0] is 100 Δήλωση και αρχικοποίηση με τις δοθείσες τιμές: int myarray[5]=1,2,3,45,100; σελ. 1

Παράδειγμα 1 Δήλωση ενός πίνακα 5 στοιχείων και εκτύπωση των τιμών των στοιχείων του αντίστροφα. int main() int Ar[5],i; for(i=0;i<5;i++) printf("%2d: ",i+1); scanf("%d", &Ar[i]); printf("oi times antistrofa einai:\n"); for(i=4;i>-1;i--) printf("%5d\n", Ar[i]); return 0; σελ. 2

ΔΙΣΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ Παράδειγμα 1 Δήλωση και αρχικοποίηση δισδιάστατου πίνακα [2Χ3] με χρήση δομής επανάληψης με συνθήκη στην είσοδο και μετρητή int myarray[2][3]; int i,j; for(i=0;i<2;i++)//loop 5 times for(j=0;j<3;j++) printf("value for myarray[%d][%d]:",i,j); scanf("%d", &myarray[i][j]); for(i=0;i<2;i++) for(j=0;j<3;j++) printf("myarray[%d][%d] is %d\n",i,j,myarray[i][j]); Εάν βάλουμε στον πίνακα τις τιμές 1,10,100,2,20,200 θα πάρουμε την έξοδο: Value for myarray[0][0]:1 Value for myarray[0][1]:10 Value for myarray[0][2]:100 Value for myarray[1][0]:2 Value for myarray[1][1]:200 Value for myarray[1][2]:2000 myarray[0][0] is 1 myarray[0][1] is 10 myarray[0][2] is 100 myarray[1][0] is 2 myarray[1][1] is 20 myarray[1][2] is 200 Δήλωση και αρχικοποίηση με τις δοθείσες τιμές: int myarray[2][3]=1,10,100,2,20,200 σελ. 3

Παράδειγμα 2 Πρόγραμμα που εμφανίζει στην έξοδο τα αθροίσματα των στοιχείων των στηλών και τα γινόμενα των στοιχείων των γραμμών εκχωρώντας τα αποτελέσματα των πράξεων σε δύο νέους πίνακες. #define R 3 #define C 4 int main() int i,j; float Ar[R][C],sum[4],prod[3]; //arxikopoihsh pinaka for(j=0;j<c;j++) printf("\nstoixeio[%d][%d]: ",i,j); scanf("%f", &Ar[i][j]); for(j=0;j<c;j++) //athroisma sthlwn sum[j]=0.0; sum[j]=sum[j]+ar[i][j]; //ginomeno grammwn prod[i]=1.0; for(j=0;j<c;j++) prod[i]=prod[i]*ar[i][j]; printf("\nginomeno GRAMMWN:\n"); printf("%.2f ",prod[i]); printf("\nathroisma STHLWN:\n"); for(j=0;j<c;j++) printf("%.2f ",sum[j]); return 0; σελ. 4

Γινόμενα γραμμών 5 2 3 4 120 1 7 8 9 504 6 2 1 1 12 Αθροίσματα στηλών 12 11 12 14 Παράδειγμα3 Πρόγραμμα που βρίσκει και εμφανίζει το μικρότερο στοιχείο της κύριας και δευτερεύουσας διαγωνίου ενός ακέραιου πίνακα 5Χ5. include <stdio.h> #define R 5 #define C 5 int Ar[R][C], i,j,master_min,minor_min; for(j=0;j<c;j++) printf("\nstoixeio[%d][%d]: ",i,j); scanf("%d", &Ar[i][j]); printf("\n"); master_min=ar[0][0]; if(ar[i][i]<master_min) master_min=ar[i][i]; minor_min=ar[0][c-1]; if(ar[i][c-1-i]<minor_min) minor_min=ar[i][c-1-i]; printf("\nmikr kyrias diag. einai to:%d \n",master_min); printf("\nmikr deyt. diag. einai to:%d \n",minor_min); σελ. 5

Τα στοιχεία της κύριας διαγωνίου είναι τα: Ar[i][i] Ar[0][0], Ar[1][1], Ar[2][2], Ar[3][3], Ar[4][4]. Τα στοιχεία της δευτερεύουσας διαγωνίου είναι τα: Ar[i][j-1-i] Ar[0][4], Ar[1][3], Ar[2][2], Ar[3][1], Ar[4][0]. Π.χ. σε έναν πίνακα: 5 3 7 6 11 2 4 3 5 4 9 10 2 3 8 7 1 0 0 0 0 1 3 12 11 Η κύρια διαγώνιος είναι: Η δευτερεύουσα διαγώνιος είναι: 5 3 7 6 11 5 3 7 6 11 2 4 3 5 4 2 4 3 5 4 9 10 2 3 8 9 10 2 3 8 7 1 0 0 0 7 1 0 0 0 0 1 3 12 11 0 1 3 12 11 σελ. 6

ΑΛΦΑΡΙΘΜΗΤΙΚΑ Είσοδος έξοδος αλφαριθμητικού. char name[30]; printf( Poio einai to onoma soy?\n ); scanf( %s, name); printf( Geia soy %s \n, name); Poio einai to onoma soy? (Mario) Geia soy Mario Με την χρήση των gets() και puts(). char name[30]; printf( Poio einai to onoma soy?\n ); gets(name); puts( Geia soy); puts(name); σελ. 7

ΣΥΝΑΡΤΗΣΕΙΣ ΑΛΦΑΡΙΘΜΗΤΙΚΩΝ ΕΥΡΕΣΗ ΜΗΚΟΥΣ strlen() char name[30]= Hello ; printf( %d\n, strlen(name)); Θα τυπωθεί το μήκος του αλφαριθμητικού δηλ. 5. Το ίδιο με εκχώρηση σε μεταβλητή. int a; char name[30]= Hello ; a=strlen(name); printf( to mhkos toy %s einai %d\n, name, a); ΑΝΤΙΓΡΑΦΗ ΑΛΦΑΡΙΘΜΗΤΙΚΟΥ strcpy() char name1[30]= hello ; char name2[30]= class ; strcpy(name1, name2); printf( %s n, name1); Το string του name2 θα καταχωρηθεί στο name1. σελ. 8

Θα τυπωθεί το αλφαριθμητικό class που πήρε την θέση του Hello στον πίνακα name1. Με strncpy(name1, name2, n); Θα αντιγράψει τα n πρώτα γράμματα του name2 στο name1. ΣΥΝΕΝΩΣΗ ΑΛΦΑΡΙΘΜΗΤΙΚΩΝ strcat() char name1[30]= hello ; char name2[30]= class ; strcat(name1, name2); printf( %s n, name1); Το string του name2 θα συνενωθεί με το string του name1. Θα τυπωθεί το αλφαριθμητικό helloclass. Με strncat (name1, name2, n); Θα ενώσει τα n πρώτα γράμματα του name2 με το name1. ΣΥΓΚΡΙΣΗ ΑΛΦΑΡΙΘΜΗΤΙΚΩΝ strcmp() char name1[30]= hello ; char name2[30]= class ; strcmp(name1, name2); Συγκρίνονται τα δύο αλφαριθμητικά και εάν βρεθούν όμοια η έξοδος της strcmp() είναι ο αριθμός 0 αλλιώς είναι ο -1. σελ. 9

Παράδειγμα1 char str1[30], str2[30]; strcpy(str1, Kalhmera!! ); strcpy(str2, Paidia!! ); printf( String1=%s\t string2=%s \n,str1,str2); strcat(str1,str2,3); printf( String1=%s \n,str1); strcpy(str1, Kalhnyxta ); printf( String1=%s \n,str1); Τα str1 Και str2 θα πάρουν τα strings Kalhmera και Paidia αντίστοιχα. Θα τυπωθεί στην αρχή: String1=Kalhmera!! String2=Paidia!! Μετά τη συνένωση του πρώτου string και των 3 πρώτων χαρακτήρων του δεύτερου θα έχουμε: String1=Kalhmera!! Pai Στο τέλος το str1 θα πάρει το string Kalynyxta και θα έχουμε: String1=Kalhnyxta σελ. 10

Παράδειγμα2 char name1[30]="kalhmera"; char name2[30]="kalhspera"; int diff; diff=strcmp(name1,name2); if(diff==0) printf("ta strings einai idia\n"); else printf("ta strings den einai idia\n"); printf("to diff einai %d\n", diff); strcpy(name2,name1); diff=strcmp(name1,name2); if(diff==0) printf("ta strings einai idia\n"); else printf("ta strings den einai idia\n"); printf("to diff einai %d\n", diff); Στην αρχή τα strings είναι Kalhmera και Kalhspera Θα τυπωθεί: Ta strings den einai idia To diff einai -1 Κατόπιν αντιγράφουμε το string του name1 στο name2 Θα τυπωθεί: Ta strings einai idia To diff einai 0 σελ. 11