Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων 22. Ασκήσεις Επανάληψης Ιωάννθσ Κατάκθσ
Μετατροπι χαρακτιρων Να γίνει πρόγραμμα που κα δζχεται ςυνεχώσ χαρακτιρεσ μζχρι να πατθκεί το ESC και να μετατρζπει τα κεφαλαία ςε πεηά και ανάποδα char change_case (char c) if (c>='a' && c<='z') return c-32; if (c>='a' && c<='z') return c+32; return c; char c; printf("give char: "); c = getch(); //Δηαβάδεη έλα ταραθηήρα θαη ηολ αποζεθεύεη ζηε while (c!=27)//κεηαβιεηή c, o τρήζηες δε τρεηάδεηαη λα παηήζεη //enter printf("%c->%c\n",c,change_case(c)); printf("give char: "); c = getch(); printf("\n");
Πίνακασ ςε ςυνάρτθςθ Σσλάρηεζε ποσ δέτεηαη ως όρηζκα έλαλ πίλαθα 10 αθεραίωλ θαη ηολ εθησπώλεη void print(int p[10]) for (i=0;i<10;i++) printf("%d): %d\n",i+1,p[i]); int i,a[10]; print(a); for(i=0; i<10; i++) A[i]=rand(); print(a);
Εκτφπωςθ πρώτου ςτοιχείου Να δθμιουργθκεί μία ςυνάρτθςθ θ οποία κα δζχεται ζνα πίνακα άγνωςτου αρικμοφ ακεραίων και κα τυπώνει το πρώτο ςτοιχείο ςτθν οκόνθ void printfirst(int p[]) printf("%d\n",p[0]); int i,a[10], B[25]; for(i=0; i<10; i++) A[i]=rand(); for(i=0; i<25; i++) B[i]=rand(); printfirst(a); printfirst(b);
Εκτφπωςθ πίνακα αγνώςτου μικουσ Να γραφεί ςυνάρτθςθ θ οποία δζχεται ζνα πίνακα άγνωςτου αρικμοφ ακεραίων και τον τυπώνει ςτθν οκόνθ void print(int p[], int size) for (i=0;i<size;i++) printf("%d\n",p[i]); int i,a[10], B[25]; for(i=0; i<10; i++) A[i]=rand(); for(i=0; i<25; i++) B[i]=rand(); print(a,10); print(b,25);
Κλιςθ με αναφορά Nα γραθεί ζσλάρηεζε ε οποία ηοποζεηεί ησταίες ηηκές ζηα ζηοητεία ελός πίλαθα αγλώζηοσ κεγέζοσς void print(int p[], int size) for (i=0;i<size;i++) printf("%d\n",p[i]); void randarray(int p[], int size) for (i=0;i<size;i++) p[i]=rand(); int A[5], B[10]; randarray(a,5); randarray(b,10); print(a,5); print(b,10);
Εφρεςθ μζγιςτου 2διάςτατου πίνακα Να γραφεί ςυνάρτθςθ που υπολογίηει το μζγιςτο ενόσ διςδιάςτατου πίνακα με άγνωςτο μζγεκοσ 1 θσ διάςταςθσ int max (int arr[][10], int n) //Μόλο ε κία δηάζηαζε κπορεί λα είλαη //άγλωζηε int i,j,max; max = arr[0][0]; for (i=0; i<n;i++) for (j=0;j<10;j++) if (arr[i][j]>max) max = arr[i][j]; return max; int cap[10][10], leo[5][10]; // Οη πίλαθες γεκίδοσλ ηηκές printf("max1 = %d\n Max2 = %d\n",max(cap,10), max(leo,5)); system("pause"); return 0;
Συνάρτθςθ Σειριακισ Αναηιτθςθσ Να γραθεί πρόγρακκα ποσ σιοποηεί ηε ζεηρηαθή αλαδήηεζε ζε ζσλάρηεζε. Η ζσλάρηεζε έτεη όρηζκα ηελ ηηκή αλαδήηεζες θαη επηζηρέθεη 1 αλ βρέζεθε ηο ζηοητείο θαη 0 αλ δε βρέζεθε int seqsearch(int arr[], int n, int key) for(i=0;i<n;i++) if (arr[i]==key) return 1; return 0; int i,k,a[100],found; for(i=0; i<100; i++) A[i]=rand(); printf("δώζε έλαλ αθέραηο: "); scanf("%d",&k); found = seqsearch(a,100,k); if (found==1) printf("ο αρηζκός σπάρτεη ζηολ πίλαθα\n"); else printf("ο αρηζκός δελ σπάρτεη ζηολ πίλαθα\n");
Δομζσ Δθμιουργιςτε ζνα πρόγραμμα που κα ορίηει μια δομι δεδομζνων car θ οποία κα αποκθκεφει για ζνα αυτοκίνθτο: o τον αρικμό κυκλοφορίασ o το χρώμα o τον τφπο o τα κυβικά εκατοςτά του κινθτιρα του o τθν ιπποδφναμθ Το πρόγραμμα κα ηθτά από τον χριςτθ να πλθκτρολογιςει τιμζσ για 20 αυτοκίνθτα από το πλθκτρολόγιο τισ οποίεσ κα αποκθκεφει και κα τα εμφανίηει ςτθν οκόνθ του υπολογιςτι.
Δομζσ #include <stdio.h> //orismos tou tupou cars struct cars char ar_kykl[8]; char xroma[15]; char marka[15]; int kybika; int ipodynami; ; struct cars mycar[20]; for (i=0;i<20;i++) printf("ari8mos kukloforias:"); gets(mycar[i].ar_kykl); printf("xroma: "); gets (mycar[i].xroma); printf("marka: "); gets(mycar[i].marka); printf("kubika: "); scanf("%d",&mycar[i].kybika); printf("ipodynami:"); scanf("%d",&mycar[i].ipodynami); //ζσλετίδεηαη
Δομζσ for (i=0;i<20;i++) printf("ta xarakthristika toy autokinhtou einai:\n"); printf("ar.kukloforias: %s\n", mycar[i].ar_kykl); printf("xroma: %s\n", mycar[i].xroma); printf("marka: %s\n", mycar[i].marka); printf("kubika: %d\n", mycar[i].kybika); printf("ipodynami: %d\n", mycar[i].ipodynami); system ( pause );
Αντιςτροφι Αλφαρικμθτικοφ Να γραθεί πρόγρακκα ζηο οποίο ζα ορίδεηαη θαη ζα τρεζηκοποηείηαη ζσλάρηεζε ε οποία αληηζηρέθεη έλα αιθαρηζκεηηθό. Δειαδή ηο thessaloniki γίλεηαη ikinolasseht #include<stdio.h> #include<string.h> void reverse(char s[]) int m = strlen(s); char temp; for(i=0; i<m/2; i++) temp = s[i]; s[i]=s[(m-1)-i]; s[(m-1)-i]=temp; int main(void) char s[50]; printf("please enter a string:"); gets(s); reverse(s); puts(s); return 0;
Τζλοσ διάλεξθσ