bai tap co so lap trinh

Upload: oc-hehe

Post on 11-Jul-2015

391 views

Category:

Documents


1 download

TRANSCRIPT

5.1/ Mng : l tp hp ca cc bin cng kiu c xp lin tip nhau trong b nh trong. 5.1.1/ Mng 1 chiu : a/ Khi nim : < kiu phn t > < tn mng> [ < ch s > ] V d : int a [5 ] ; => a [0] a[1] a[2] a [3] a [4] ( ch s chy t 0 n n - 1 ). Char S [20] ; => 'A' 'B' ...... 'X ' S[0]S[1] S[19] b/ Cch nhp s liu cho mng t bn phm ( c th dng hm Random C). + Mng s nguyn : V d : Nhp vo mng s nguyn 5 phn t #include < stdio.h> #include < conio.h> #define n 5 main () { int a [ n ] ; int i ; for ( i = 0 ; i < n ; i ++ ) { printf ( " a [ %d ] = " , i ); scanf ( " % d" , & a [ i ]); }

for ( i = 0 ; i < n ; ++ i) printf ( " \ n a [ % d ] = % d ", i , a [ i ]); getch (); } + Mng s thc float : #include

#include < conio.h> #define n 5 ; main () { float a [ n ] , tam ; .....scanf ( " % f " , &tam) ; a [ i ] = tam ; c/Khi to mng : a [ 5 ] = { 1,2,3,5,4 }a[0]=1 a[2]=2 .. a[4]=4 d/ Mng k t : - l chui k t kt thc bng k t NULL c m ASCII l 0 . - V d : char S [3] = { 'L', '0', 'P'] : chui ny khng ng do thiu ch cho k t kt thc l NULL. - Ta c th gn : char S [ 4 ] = " Lop "; Ngn ng C s t ng ghi k t kt thc l NULL, tc l ' \0 '. char S[ ] = " Lop " ; Khng cn khai bo s phn t mng. * V d 1 : Nhp v mt mng s nguyn sau sp xp theo th t tng dn : #include < stdio.h> #define n 5 main ( ) { int a [ n ] ; int i , j, t ; for ( i = 0 ; i > n ; i ++ ); { printf ( " nhp a [ % d] = " , i ); scanf ( " %d", & a [i ]); }

for ( i = 0 ; i < n - 1 ; i ++) for ( j = i + 1 ; j < n ; j ++ ) if ( a [ i ] < a [j ] ) { t = a [ i ] ; a [ i ] = a [ j ]; a [j ] = t ; }

for ( i = 0 ; i < n ; i ++ ) printf ( " % 5d " , a [ i ] ); getch ( ); } V d 2 : Lm li v d 1 nhng vit ring hm sp xp v truyn tham s cho mng 1 chiu #include #include #define N 5 void sapxep ( int a [ ] , int n ); void main ( ) { int a [ N ] ; int i ;

for ( i = 0 ; i < N , i ++ ) { printf ( " A [ %d ] = ", i ); scanf ( " %d ", & a [ i ] ); }

sapxep ( a, N );

for ( i = 0 ; i < N ; i ++ ) printf ( " %5d ", a [ i ] ); getch ( ); }

void sapxep ( int a [ ], int n ) { int i, j, t ; for ( i = 0 ; i > n - 1 ; i ++) for ( j = i + 1 ; j < n ; j ++ ) if ( a [ i ] > a [ j ] { t = a [ i ] ; a [ i ] = a [ j ] ; a [j ] = t ; } * V d 3 : chuyn i 1 chui k t thng thnh Hoa. Ch : + Hm tolower ( ch ) : i 1 k t ch thnh thng. + Hm toupper ( ch ) : i k t ch thnh Hoa. + C 2 hm trn u nm trong th vin : < ctyte.h> Gii : #include < stdio.h> # include < ctyte.h> #define n 20 main ( ) { char s [ n ] ; int i ;

for ( i = 0 ; i < n ; i ++ ) s[ i ] = toupper ( getchar ( ) ) ;

for ( i = 0 ; i < n ; i ++ ) putchar ( s [ i ] ) ; getch ( ) } Bi tp : 1/ vit chng trnh nhp s liu cho mng A gm N phn t vmng B gm n phn t , sau ghp 2 mng A v B thnh mng C gm m + nphn t v sp xp tng dn ( Bi ny phi dng hm nhp s liu chomng v hm sp xp). - Tnh tng cc phn t m, dng, s chn, s l v tng tt c cc phn t ca mng C [ m + n ].In cc s l trn 1 hng v cc s chn trn 1 hng. - Nhp vo mt gi tr v tm xem gi tr c thuc vo mng C khng. Nu c in ra tt c cc phn t tm c. 5.2/ Mng nhiu chiu : a/ Khai bo : < kiu phn t > < tn mng > [ < ch s hng > ] [ < ch s ct >] *V d 1 : int a [ 3 ] [ 2 ] ; float b [ 3 ] [ 4 ] ; char c [5 ] [6 ] ; => a [ 0 ] [0 ] a [ 0 ] [ 1 ] a [ 1 ] [ 0 ] a [ 1 ] [ 1] a[2][0]a[2][1] V d 2 : #define Hang 5 # define Cot 6 int a [ Hang ] [ Cot ] ; => ta c cc bin chy i ( ch s chy t 0 n ( Dong - 1)). ta c cc bin chy j ( ch s chy t 0 n ( Cot - 1 )) . a [0] [0] a [0][1] ...... a [ 0 ][Cot - 1] a [1] [0] a [1][1] ...... a [a][Cot - 1]

................................. a[Dong-1][0]...... . . . . . . . . a[Dong-1][Cot-1] *V d : Vit chng trnh tnh tng, tch cc s trong mng s thc a[3][2] ; #include < stdio.h> #define N 3 #define N 2 main ( ) { int i , j ; float a [M][N] ; float tong, tich, tam ;

for ( i = 0 ; i < M ; i ++ ) for ( j = 0 ; j < N ; j ++ ) { printf ( " nhp a [ %d][%d] = " , i , j ); scanf ( " %f " , & tam ) ; a [j] = tam ;}

Tong = 0 ; Tich = 1; for ( i = 0 ; i < M ; i ++ ) for ( j = 0 ); j < N ; j ++ ) { Tong = Tong + a [ i ][j] ; Tich = Tich * a [j] ; }

printf ( " Tng l tng = %f, TONG ); printf ( " tch l TICH = %F, TICH ); getch ( ) ; } b/ Truyn tham s mng nhiu chiu cho hm ( tham s thc l tn mng nhiu

chiu ) - gi s a l mng 2 chiu : float a[M][N] + Chng trnh gi : { float a [M][N] Tong ( a ) ; ( truyn a ch ca mng cho hm ) } + Chng trnh b gi ( chng trnh con ) : float tong ( float a[ ][N] ) { } Note : hm tong ch dng c i vi cc mng hai chiu c N ct v s hng khng quan trng, khng khai bo ) : * V d : Vit chng trnh tnh tng ca 2 ma trn cp m x n theo cng thc : C[j] = a[j] + b [j] #include #define m 3 #define n 4

void nhap ( int a[ ][N] , int M, int N ); void TongMT ( int a[ ][N], int b[ ][N] , int c [ ][N], int M , int N ); void InMT ( int c [ ][N], int M, int N );

{ int a [M][N], b[M][N], c[M][N] ;

Nhap ( a, M ,N ) ; nhap ( b, M,N); TONGMT ( a, b, c , M, N ); InMT ( c, M, N );

Getch ( ) ; }

void Nhap ( int a [ ][N] , int M , int N ) { int i , j ; for ( i= 0 ; i < M ; i ++ ) for ( j = 0 ; j < N ; j++ ) { printf ( " a[%d][5d] = " , i , j ) ; scanf ( " %d " , &a [j]) ; } return ; } Void TongMT ( int a [ ][N], int b [ ][N], int c [ ][N], int M , int N ) { int i, j ; for ( i = 0 ; i < M ; i ++ ) for ( j = 0 ; j < N ; j ++ ) c [j] = a [j] + b [j] ; return ; }

void inMT ( int c[ ][N], int M, int N ) { int i, j ; for ( i = o ; i < M ; i ++ ) { for ( j = 0 ; j < N ; j ++ )

printf ( " % 3d", a[j] ); printf ( " \n " ) ; } return ; } BI TP MNG : 1/ cho mng 2 chiu A, l ma trn vung cp n x n , lp chng trnh : a/ tnh tng tt c cc phn t dng ca mng. b/ tnh tng cc phn t A[j] m i + j chia ht cho 5 . c/ In ra cc s nguyn t theo tng hng. d/ Sp xp theo hng. e/ Sp xp theo ct . f/ Tnh tng cc phn t trn ng cho ( i = j ) , ng bin. g/ Tm max ; min theo tng hng, ct v ton b ma trn. 2/ Mt chui gi l palindrone nu n khng thay i khi ta o ngc th t ca cc k t trong n ( v d " 12321 " ) . Lp chng trnh c mt chui ( xu ) k t v xc nh xem c tnh palondrone khng.

5.3/ Bin con tr : 5.3.1/ Khi nim con tr ( pointer ) v a ch : - Mi bin trong ngn ng C u c 1 tn v tng ng vi n l mtvng nh dng cha gi tr ca n. Tu theo bin m vng nh dnhcho bin c di khc nhau. a ch ca bin l s th t ca byteu tin tng ng vi bin . a ch ca bin c kiu khc nhau lkhc nhau. a ch v bin kiu int lin tip cch nhau 2 byte , binkiu float l 4 byte. - Con tr l bin dng cha a ch ca bin khc hoc c th l mthm. Do c nhiu loi a ch nn cng c nhiu loi bin con tr. Contr kiu int dng cha a ch ca kiu int. Con tr kiu float dng cha a ch kiu float.

- Mun s dng c pointer, trc tin phi c c a ch ca binm ta cn quan tm bng php ton ly a ch & . Kt qu ca phply a ch & s l 1 phn t hng. * V d : int num ; => &num l a ch ca num. int pnum ; pnum = & num ; gi s : num = 5 ; => * pnum = 5 Hai cu lnh sau y l tng ng Num = 100 ; ( * pnum ) = 100 ; - Quy tc khai bo bin con tr : < kiu d liu> * < tn bin con tr > *V d 2 : int a, *p ; a=5; p=&a; p=a; *p=a; scanf ( " %d " , &a ) ; tng ng scanf ( " %d , p ) ; 5.3.2/ tnh ton trn bin con tr ( pointer ) a/ Hai bin con tr cng kiu c th gn cho nhau : V d 1 : int a, * p, *a ; float * f; a = 5 ; p = &a ; q = p ; f=p; f = ( float * )p ; V d 2 : int a ; char *c ; c = &a ; c = ( char*)

b/ Mt bin pointer c th c cng, tr vi mt s nguyn ( int , long ) cho kt qu l mt pointer. * V d : int a , *p , * p10 ; a=5; p = &a ; p10 = p + 10 ; V d : int V[10] ; int *p ; p = & V[0]; for ( i = 0 ; i < 10 ; i ++ ) { *p = i ; p ++ }

for ( i = 0 ; i < n-1 ; i ++ ) for ( j = i + 1 ; j * ( a + j ) { t = * ( a + i ) ; *(a + i ) = * ( a + j) ; *(a + j ) = t ; } s= 0 ; for ( j=0 ; i < n , ++i ) s + = a[ i]; printf ("\n Tong = %5d ", s ); printf ( "\n s ln nht l %d ", a [4] ); printf ( " s nh nht l %d \n ", a [d] ); getch ( ); }

5.4.2 / Con tr v mng nhiu chiu : - Php ton ly a ch & ch p dng c vi mng 2 chiu kiu nguyn. Cc kiu khc khng c. * V d 1 : int a[2][3] { scanf ( "%d", & a[1][1]) } ( ng ) * V d 2 : float a[2][3] Scanf (" %f", &a[1][1]); ( sai ). - Mng 2 chiu a[2][3] => gm 2 x 3 = 6 phn t c 6 a ch lin tip theo th t sau : Phn t : a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] ( * ) a ch : 0 1 2 3 4 5 - Ngn ng C quan nim mng 2 chiu l mng mt chiu ca mng a[2][3]tng ng khng phn t m mi phn t ca n gm 3 s nguyn nn : a tr ti hng th nht ( a [0][0] ) a+1 tr ti hng th hai ( a[1][0] ) - Do duyt cc phn t ca mng a[2][3] ta dng con tr theo cch sau : + ( theo * ) => ta c cng thc a[j] = ( int*) a + i * n + j trong : int* : con tr a ( a ch a ). n : s ct. - float a[2][3] , *p ; p = ( float*)a ; khi : p tr ti a[0][0] p + 1 tr ti a[0][1] P + 2 tr ti a[0][2] .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p + 5 tr ti a[1][2] * Tng qut : a[j] = * ( p + i* N + 5 ); trong N : s ct ) Kt lun : Mng 2 chiu c th chuyn thnh mng 1 chiu nh con tr.

* V d : nhp mt s liu vo mng 2 chiu kiu float a[2][3] ta c th dng cc cch sau: + Cch 1 : #include " stdio.h " main ( ) { float a[2][3] , *p ; int i ; p = (float*)a ; for ( i = 0 ; i < 2*3 ; ++i) scanf ( "%f", (p+i)) ; ( X ) } + Cch 2 : Sa lnh ( X ) nh sau : scanf ( "%f", (float*)a + 1 ) ; + Cch 3 : #include " stdio.h " #define m 2 #define n 3 main ( ) { float a[m][n] ; int i , j ; float *p ; p = ( float* )a ; for ( i=0 ; i []. * V d : int *a[5] ; - trong : a l mng gm 5 nh lin tip, mi nh l 1 bin contr tr n kiu int ; bn thn a khng th dng lu tr s liu. - Gi s : a < 110> a[0] a[1] a[2] a[3] a[4] a[5] a ch < 30> < 20> < 10 > < 80 > < 70 > < 100> 7 8 9 10 11 12345 6 12 13 - a= &a[0] => a = ( a ch 100 ). - a[0] = < 30 > ( a ch bng 30 : ti a ch 30 con tr a[0]tr n a ch v gi s ti a ch < 30 > c gitr l 6 ). => *a[0] = * (> = 6 . a[1] = < 20 > => *a[1] = 1 a [2] = < 10> => *a[2] = 7 .

Ch 1: Xem a l con tr 2 ln ( con tr ca con tr ) : - a = => *a = ( do a = &a[0] ) => **a = 6 ( do *()). - *(*(a + 1) + 2 ) *(102) * ( + 2 ) => * = 3 Ch 2 : - int a[5] => a l con tr hng khng thay di a ch ca n c ( nn a++ sai) - int *a[5] ; => a laf con tr ng nn thay i gi tr c ( a++ ng ). V d : int *a[5] For ( i = 0 ; i < 5 ; i++ ) { printf ("%d", *a[0] ); a[0]++ ; } * Ch 3 : mng 2 chiu chng qua l 1 con tr 2 ln ( con tr ca con tr ). L do : a[k] ; trong t b = a => b[k] = a[k] ; + Cng thc : ( a = *(a+i)) => ( b = *(b+i)). b[k] = *(b+k)). b[k] = *(a + k ) = * ( *(a+i) + j). => a[k] = *(*(a+i) + k) ; trong *(*(a+i) l con tr 2 ln. 5.4.4/ Con tr v xu k t : - Xu k t : l dy k t t trong ngoc kp . V d : " Lp hc ". Xu ny c cha trong 1 mng kiu char. L O P H O C \0 a ch : NULL : kt thc chui => char *lop ;

lop = " Lop Hoc " ; ng : gn a ch ca chui cho con tr lp. + puts (" Lop Hoc ") ; v puts (lop ) u hin th dng ch Lop Hoc. V d : char Tenlop[10] ; Printf ("\n Tenlop : " ) ; gets( Tenlop ) ; => ( Nhp vo chui " lp hc " ) Cn nu chng ta khai bo nh sau l sai : Char *lop , tenlop [10] ; Tenlop = " lp hc " ; sai v Tenlop v chui l 2 con tr hng , khngc gn cho nhau . Mun gn ta dng hm strcpy (Tenlop , "lp hc "); 5.4.5/ Con tr v vic nh v b nh ng : - V d 1 : #define N=10 ; main ( ) { int a[N] ; int m : printf ( " nhp s phn t m = "); scanf("%d", &m) ; for ( i= 0 ; i < m ; i++ ) scanf ( "%d", &a ); - Nhn xt V d 1 trn : + Nu m N ( tc l m > 10 ) : th chng trnh s chy sai v ta khng bin mng. => Do ta phi khc phc bng cch : nh v b nh ng. ( Bng hm malloc v calloc). * V d 2 : #include < stdio.h> #include hoc #include main ( ) { int m , *a ; printf (" Nhp s phn t m = " ); scanf ( "%d", &m );

a = ( int*) malloc ( m* size of ( int ) ); (1) if ( a!= NULL ) for ( i=0 ; i < m ; i++) scanf ( "%d", &a ); free (a) ; } - Hm malloc ( ) nm trong th vin . Hm ny cung cps lng byte lin tip t phn b nh cn cha s dng trn my tnh. + V d : malloc (num) = num byte v tr v con tr kiu void tr n a ch bt u ca nh. - Size of ( int ) : l s byte m mt bin kiu int yu cu ( gi tr = 2 ) - ( int*) : p kiu ( type - casing) : coi a ch bt u l int ( domalloc tr v con tr kiu void , c bit khng c kiu ) , c thnhn bt k a ch kiu no ( nh p kiu ). - Mun s dng hm calloc thay cho hm malloc => khai bo : a = (int*) calloc ( n, size of (int)); * Ch : Lun gn mt a ch cho mt con tr trc khi s dng tin. Nu khng bin con tr s mang mt gi tr ngu nhin c th phhu chng trnh. * Cp pht b nh ng cho mng 2 chiu m x n phn t, m , n nhp t bn phm: + V d : #include #include Void main ( ) { int **a , m, n, OK ; printf ( " nhp m = " ); scanf ("%d", &m); printf (nhp m = n) ; scanf ( "%d", &n ); a = ( int** ) malloc ( m*seze of (int *)); if (a!=NULL )

{ OK = 1 ; for ( i=0 ; i < m ; i++ ) } a = (int*) break ; for ( i=0 ; i yu cu vit li theo cch 2. * Cch 2 : void swap (float *x , float *y) { float temp ; temp = *x ; *x = *y ; * y = temp ; }

main ( ) b/ S hc con tr ( c th thao tc s hc trn ni dung con tr ) * V d : #include < stdio.h> #include main ( ) { #define N 3 int *list , i ; list = int*) calloc ( N, size of(int)); *list = 15 ; * (list + 1) = 20 ; *(list + 2 ) = 30 ; printf ( " cc a ch l : "); for ( i=o ; i < N ; i++) printf ("%4d",(list + i)); printf ("\n cha cc gi tr l : "); for ( i=0 ; i < N ; i++) printf("%4d", *(list + i)); printf("\n"); => list tr ti mt di b nh di 6 byte ( 3*2) c cc gi tr l5,20, 30 . gi tr a ch u l 06A => kt qu cc a ch l :06A 06AC 06AE cha cc gi tr l : 5 20 30 c/ Con tr v mng : - V d 2 : #include main ( ) { #define N 3 int list [N] , i ;

list [0] = 5 ; list [1] = 20 ; list[2]=30; printf ( " Cc a ch l : "); for ( i = 0 ; i < N ; i++) printf ( "%4p ", &list ); printf("\n cha cc gi tr l : "); for ( i=0; i{ list + i) = = &(list) v *(list + i) = = list} d/ Con tr v cu trc : - Ta c th khai bo con tr nh mt bin cu trc, cng nh con trca bu k kiu d liu no khc. iu ny cho php to mt danh schmc ni cc phn t ( s trnh by chng sau ). e/ Con tr ti hm : dng cha a ch ca hm. Nn kiu ca hm v con tr phi ging nhau. V d : #include Double fmax ( double x, double y ) { return ( x>y ? x:y ) ; }

double (*pf) (double , double ) = fmax ; main ( ) { printf ( " In max = % f " , pf(15.5, 20.5 )); }

Bi tp ngn ng lp trnh C - phn 2 Cu I. 1: Vit hm tnh gi tr ca a thc cp n f(x) = anxn + an-1xn-1 + + a1x1 + a0 Cu I. 2: Vit hm kim tra tnh nguyn t ca mt s nguyn dng n Cu I.3: Vit hm kim tra xem mt mng gm n s nguyn dng nhp vo t bn phm c phi l mt hon v ca n hay khng. Cu I. 4: Vit hm i mt s nguyn thnh xu s nguyn Cu I. 5: Vit hm i mt xu s nguyn thnh s nguyn Cu I. 6: Vit hm tnh gi tr ca mt biu thc dng xu ch gm hai php ton cng v tr. Chng hn: Gi tr ca biu thc: -1 + 3 + 4 5 l 1 Cu I. 7: Vit hm i mt s nguyn khng m thnh xu nh phn Cu I. 8: Vit hm i mt s nguyn khng m thnh xu Hecxa Cu I. 9: Vit hm o ngc mt xu k t Cu I. 10: Vit hm nhp mng tr v con tr tr vo u mng mt chiu Cu I. 11: Vit hm tnh s pi theo cng thc PI/4 = 1 - 1/3 + 1/5 - 1/7 + , vi chnh xc epxilon = 0.001 Cu I. 12: Vit hm kim tra xem mt s nguyn x c mt trong mt mng mt chiu gm n s nguyn hay khng? Cu I. 13: Vit hm tnh ex theo cng thc sau: ex = 1 + x + x2/2! + x3/3! + , vi chnh xc epxilon = 0.001 Cu I. 14: Vit hm tnh bi chung nh nht ca hai s nguyn dng a, b. Cu I. 15: Vit hm cho bit mt s nguyn dng n c bao nhiu ch s l khc nhau. Cu I. 16: Vit hm thc hin vic i ch gi tr ca 2 bin a v b cho nhau. Cu I. 17: Vit hm tr v s Fibonaxi th n Cu I. 18: Vit hm tnh tng n s Fibonaxi u tin Cu I. 19: Vit hm tr v s nguyn t st sau s n Cu I. 20: Vit hm tr v s n nguyn dng nh nht sao cho tng s = 1 + 1/2 + 1/3 + . . . + 1/n > a, vi a l s thc nhp vo t bn phm.

Phn 2: Cu II. 1: Vit chng trnh kim tra mt mng mt chiu c i xng hay khng Cu II. 2: Vit chng trnh kim tra mt xu k t c i xng hay khng Cu II. 3: Vit chng trnh sp xp mt mng mt chiu theo th t tng dn Cu II. 4: Vit chng trnh m s t trong mt xu k t Cu II. 5: Vit chng trnh kim tra xu "hello" c trong xu s hay khng (khng phn bit ch hoa v ch thng) Cu II. 6: Vit chng trnh nhp v xem mng hai chiu an x m, tnh tng cc hng v in ra hng c tng ln nht Cu II. 7: Vit chng trnh nhn hai ma trn Cu II. 8: Vit chng trnh sp xp mt mng xu h v tn theo th t t in ca tn Cu II. 9: Vit chng trnh cng hai ma trn Cu II. 10: Vit chng trnh tm ma trn chuyn v Cu II. 11: Nhp mt xu k t gm cc ch ci. Hy m xem mi loi ch ci c mt trong xu xut hin bao nhiu ln (khng phn bit ch hoa v ch thng) Cu II. 12: Ch dng mt con tr (khng dng mng v danh sch kt ni) hy nhp vo t bn phm 10 s nguyn. Sau , tnh trung bnh cng ca 10 s va nhp. Cu II. 13: Vit chng trnh nhp v xem mng mt chiu nh con tr

Cu II. 14: Vit chng trnh nhp v xem mng hai chiu nh con tr Cu II. 15: Vit chng trnh nhp mt mng mt chiu n s nguyn sau sp xp mng theo th t tng dn. Nhp mt s nguyn x vo t bn phm, hy chn gi tr x vo mng sao cho khng lm thay i th t sp xp ca mng. Cu II. 16: Vit chng trnh nhp vo mt xu k t bao gm cc t v cc du cch trng tu . Hy xo b cc du cch trng u xu, cui xu v cc du cch trng khng cn thit gia cc t sao cho cc t trong xu ch cch nhau mt du cch trng. Cu II. 17: Vit chng trnh nhp vo mt mng a gm n phn t, sau xy dng mng mt chiu b gm tt cc nhng phn t i din ly t mng a Cu II. 18: Vit chng trnh nhp vo 2 dy s nguyn a1, a2, , an v b1, b2, , bn. Hy kim tra xem c phi hai dy trn ch khc nhau v trt t sp xp cc phn t hay khng? Cu II. 19: Vit chng trnh nhp vo mt mng hai chiu a gm n hng m ct. Hy xy dng mng mt chiu b gm cc phn t l nhng phn t ln nht trn mi hng ca ma trn a. Cu II. 20: Vit chng trnh nhp vo mt ma trn vung, hy chuyn tt c cc phn t c gi tr tuyt i ln nht ca mi hng v phn t ng cho chnh. Phn 3: Cu III. 1: Cho cu trc phn s PS nh sau: struct PS{int tu, mau;}; - Vit hm tm UCLN ca hai s nguyn dng - Vit hm to phn s - Vit hm ti gin phn s - Vit hm in phn s theo dng a/b, vi a l s nguyn, b l s nguyn dng - Vit hm tnh tng, hiu hai phn s, kt qu tr v phn s ti gin Vit chng trnh nhp hai phn s v in tng v hiu ca chng Cu III. 2: Cho cu trc phn s PS nh sau: struct PS{int tu, mau;}; - Vit hm tm UCLN ca hai s nguyn dng - Vit hm to phn s - Vit hm ti gin phn s - Vit hm in phn s theo dng a/b, vi a l s nguyn, b l s nguyn dng - Vit hm tnh tch, thng hai phn s, kt qu tr v phn s ti gin Vit chng trnh nhp hai phn s v in tch, thng ca chng Cu III. 3: Cho kiu cu trc s phc SP nh sau: struct SP{float thuc, ao;}; - Vit hm to s phc - Vit hm in s phc dng theo a + i*b - Vit hm tnh tng hai s phc, kt qu tr v s phc Vit chng trnh nhp hai s phc v in tng ca chng

Cu III. 4: Cho cu trc s phc SP nh sau: struct SP{float thuc, ao;}; - Vit hm to s phc - Vit hm in s phc theo dng a + i*b - Vit hm tnh hiu hai s phc, kt qu tr v s phc Vit chng trnh nhp hai s phc v in hiu ca chng Cu III. 5: Ch s dng mt con tr c kiu cu trc sinhvien gm 3 trng: h tn, tui, im l thuyt, im thc hnh, im trung bnh, trong : im trung bnh = (im l thuyt + im thc hnh*2)/3 hy nhp vo 5 sinh vin v cho bit sinh vin c im trung bnh cao nht. Cu III. 6: Vit chng trnh to mng gm n phn t, mi phn t c kiu cu trc gm 3 trng: h tn, h s lng, lng, trong : lng = h s lng * 350000. Sp xp li mng

theo th t tng dn ca lng. Nhp thng tin cho mt ngi, hy chn ngi ny vo mng sao cho vn m bo tnh sp tng ca lng. Cu III. 7: Cho cu trc thisinh gm cc trng: h v tn, s bo danh, ngy sinh, qu qun, tng im, trong s bo danh c nh t ng bng cch: s bo danh = DHV + s th t nhp vo ca th sinh. Nhp mng gm n cu trc thisinh, nhp im chun vo t bn phm, hy lc v in ra mn hnh nhng ngi c tng im ? im chun. Cu III. 8: To mng gm n phn t, mi phn t c kiu cu trc hocsinh gm hai trng: h tn, ngy sinh, lp. Hy sp xp mng theo th t alphabe ca tn. Cu III. 9: Cho kiu cu trc thoigian gm 3 trng: gi, pht, giy. - Vit hm to cu trc thigian - Vit hm in mt cu trc thoigian theo dng: gi : pht : giy - Vit hm so snh hai cu trc thi gian Nhp mt mng gm n phn t cu trc thoigian, hy sp xp mng theo th t tng dn. Cu III. 10: Cho kiu cu trc ngaythang gm 3 trng: ngy, thng, nm. - Vit hm to mt cu trc kiu ngaythang - Vit hm in mt cu trc kiu ngaythang: ngy - thng - nm - Vit hm so snh hai cu trc kiu ngaythang Nhp mt mng gm n phn t cu trc ngaythang, hy cho bit ngy gn ngy hin ti nht.

Phn 4: Cu IV. 1: Cho tp vn bn mi dng 3 s thc. Lp mt hm kim tra xem 3 s thc a, b, c c lp thnh 3 cnh ca mt tam gic hay khng, nu ng th tnh chu vi, din tch ca tam gic , nu khng th c thng bo. p dng hm kim tra cc b 3 s trn tng dng trong tp k trn. Kt qu cho hin ra mn hnh. Cu IV. 2: Lp hm tnh n!. p dng lp hm tnh t hp chp k ca n. Cho mt tp vn bn, mi dng cha 2 s k v n. Hy tnh Ckn ca cc cp s k v n c ra t tp trn. Kt qu a vo mt tp vn bn khc, mi dng gm: k n Cnk Cu IV. 3: Cho mt tp vn bn gm cc xu k t. Lp hm kim tra mt t nhp vo t bn phm c mt trong tp hay khng. Cu IV. 4: To mt tp nh phn gm cc s nguyn khng m (to nh hm putw). Lp hm i s nguyn ra xu nh phn. p dng hm i cc s nguyn trong tp trn ra xu nh phn, ghi kt qu vo mt tp vn bn, mi dng gm: S t nhin ------> Xu nh phn tng ng Cu IV. 5: Cho tp vn bn cha cc s t nhin. Lp hm tr v kiu s nguyn xc nh xem mt s t nhin c phi l s nguyn t hay khng. Hy p dng hm tm cc s nguyn t trong tp trn v a cc s nguyn t ra mn hnh, mi dng 10 s. Cu IV. 6: Cho tp vn bn mi dng cha 3 s thc. Lp hm gii v bin lun phng trnh dng ax2 + bx + c = 0. p dng hm trn gii v bin lun cc phng trnh bc hai vi cc hc s a, b, c c ra t tp trn. Kt qu cho hin ra mn hnh. Cu IV. 7: Lp chng trnh c hm tnh s ngy ca mt thng. p dng tnh ngy ca cc thng trong mt nm bt k v ghi kt qu vo mt tp vn bn theo quy tc: thng nm s ngy. Cu IV. 8: Lp hm tnh s t trong mt xu k t (du ngn cch t bao gm: du cch trng, du chm, du phy, du chm phy, du chm than, du chm hi). p dng m s t ca mt tp vn bn gm cc xu k t. Cu IV. 9: Vit hm tnh ucln(a, b). p dng hm lp hm tnh bcnn(a, b). Cho mt tp vn bn, mi dng gm hai s nguyn dng cch nhau t nht mt k t trng. S dng hai hm trn tnh ucln v bcnn ca cc cp s c ra t tp trn. Kt qu ghi vo mt tp vn bn khc theo quy tc: a b ucln bcnn Cu IV. 10: To tp cu trc lu tr sinh vin ca mt lp. Mi sinh vin gm h tn, tui, im

k 1, im k 2, im trung bnh c nm, xp loi, trong : im trung bnh c nm = (im k 1 + im k 2 *2 )/3 "Gii" nu im trung bnh c nm>=8.0 xp loi = "Kh" nu 7.0