You are on page 1of 76

Bi 1.

Vit chng trnh nhp t bn phm n s nguyn dng nh hn 100, in ra mn hnh hai ct song song, mt ct l cc s, cn ct kia l tng ca cc ch s tng ng ct th nht. Tm v in ra s c tng ca cc ch s l ln nht, nu c nhiu hn mt s nh vy th in s u tin. Bi 2. Mt ngi gi tit kim a ng vi li sut s% mt thng (tnh li hng thng). Vit mt chng trnh tnh v in ra mn hnh hai ct song song, ct th nht l s thng gi, ct th hai tng s tin (c vn v li) ng vi s thng ct th nht cho mt khong thi gian t 1 n t thng, vi a, s, t c nhp t bn phm. Bi 3. Mt ngi gi tit kim ng vi li sut l s% mt thng trong k hn 6 thng (6 thng tnh li mt ln). Vit chng trnh tnh v in ra mn hnh hai ct song song, ct th nht l s thng gi, ct th hai l tng tin (c vn v li) ng vi s thng ct th nht cho mt khong thi gian t 6 thng n t thng, vi a, s, v t c nhp t bn phm. (Bit rng nu lnh khng chn k no th khng c tnh li k y). Bi 4. Cho x l mt s thc, hy xy dng hm tnh v in ra mn hnh hai ct song song, ct th nht l gi tr ca i s, ct th hai l gi tr ca hm f ng vi i s ct th nht: Sau , vit mt chng trnh nhp t bn phm mt mng gm n s thc, v gi hm lp c trn vi i s l cc s va nhp. Bi 5. Vit chng trnh tnh v in ra mn hnh s tin in thng 10/99 ca n khch hng theo cc ch s trn ng h in ca thng 9 v ca thng 10 c nhp vo t bn phm (phi kim tra m bo rng ch s ca thng sau phi ln hn ch s ca cc thng trc). Bit rng: 50 s u tin gi 500 ng/s, 100 s tip theo gi 800 ng/s, 100 s tip theo na gi 1000 ng/s, 100 s tip theo na gi 1200 ng/s, v t s th 351 tr i gi 1500 ng/s. Bi 6. Vit mt chng trnh nhp vo t bn phm im kim tra ca mt mn hc ca n hc sinh v in kt qu ra mn hnh di dng hai ct song song, mt ct l im v ct th hai l xp loi theo im vi cc qui nh sau: Di 5: Yu T 5 n di 7: Trung bnh T 7 n di 9: Kh T 9 tr ln: Gii Bi 7. Vit chng trnh gii phng trnh bc hai ax2+bx+c=0 vi a, b, c bt k c nhp vo t bn phm. In ra mn hnh phng trnh bc hai vi cc h s nhp, gi tr ca delta v cc nghim thc ca n (nu c), ngcij li th in l khng c nghim thc. Bi 8. Nm 1999, dn s nc ta l 76 triu ngi, t l tng t nhin l k% mt nm. Lp mt chng trnh in ra mn hnh hai ct song song, ct th nht l nm, ct th hai l dn s ca nm tng ng ct mt cho n khi dn s tng s ln so vi nm 1999. Cc s k v s

c nhp vo t bn phm. Bi 9. Vit chng trnh gii bt phng trnh bn hai vi a, b, c bt k c nhp t bn phm: ax2+bx+c>0 . In ra mn hnh bt phng trnh vi cc h s nhp, gi tr ca delta v cc nghim thc ca bt phng trnh. Bi 10. Xy dng mt hm sp xp thep th t tng dn mt mng gm n s thc. Vit chng trnh nhp n s thc t bn phm, s dng hm sp xp ni trn, v in ra mn hnh hai ct song song, mt ct l mng cha sp xp, mt ct l mng c sp xp. Bi 11. Xy dng mt hm sp xp thep th t gim dn mt mng gm n s thc. Vit chng trnh nhp n s thc t bn phm, s dng hm sp xp ni trn, v in ra mn hnh hai ct song song, mt ct l mng cha sp xp, mt ct l mng c sp xp. Bi 12. Cho F l mt s thc ln hn 2, v S=1/2+1/3++1/n. Hy xy dng mt hm tm gi tr ln nht ca n sao cho S<=F. Vit mt chng trnh nhp vo t bn phm m s thc Fi, s dng hm ni trn i vi cc hm Fi nhp v in ra mn hnh thnh ba ct song song: cc gi tr ca Fi, n, v S tng ng. Bi 13. Cho F l mt s thc ln hn 2, v S=1/2+1/3++1/n. Hy xy dng mt hm tm gi tr nh nht ca n sao cho S<=F. Vit mt chng trnh nhp vo t bn phm m s thc Fi, s dng hm ni trn i vi cc hm Fi nhp v in ra mn hnh thnh ba ct song song: cc gi tr ca Fi, n, v S tng ng. Bi 14. Xy dng mt hm tnh gi tr trung bnh ca n s thc. (Gi tr trung bnh ca mt dy s c cho bng cng thc: ). S dng hm ni trn vit chng trnh nhp n s thc t bn phm v in ra mn hnh ct s nhp, tng, gi tr trung bnh ca chng. Bi 15. Xy dng mt hm tnh gi tr trung bnh ca n s thc. ( lcnh chun ca dy s c cho bng cng thc: , vi ). S dng hm ni trn vit chng trnh nhp n s thc t bn phm v in ra mn hnh ct s nhp, tng, gi tr trung bnh v lch chun ca chng. Bi 16. Hy xy dng mt hm nhp t bn phm mt mng s thc. Vit mt chng trnh s dng hm xy dng c trn nhp s liu cho hai mng s thc, mt mng c n phn t, v mt mng c m phn t, in ra mn hnh hai ct song song, mi ct l mt mng vi cui cng l tng ca cc phn t trong mng, v cui cng l tng ca hai mng. Bi 17. Hy xy dng mt hm nhp t bn phm mt mng s thc. Vit mt chng trnh s dng hm xy dng c trn nhp s liu cho hai mng s thc, mt mng c n phn t, v mt mng c m phn t, in ra mn hnh ba ct song song, hai ct u l hai mng nhp, ct th ba tng ca hai ct u, dng cui cng ca c ba ct l tng ca cc phn t trong ct.

Bi 18. Cho tui v s con ca n ph n trong tui 15-49, hy xy dng mt hm tnh v in bn phn b ca cc ph n ny theo nhm 5 tui. Vit chng trnh nhp tui v s con ca n ph n trong tui 15-49, sau s dng hm xy dng trn in bng phn b theo tui. Bi 19. Cho tui v s con ca n ph n trong tui 15-49, hy xy dng mt hm tnh v in bn phn b ca cc ph n ny theo nhm 5 tui. Vit chng trnh nhp tui v s con ca n ph n trogn tui 15-49, sau s dng hm xy dng trn in bng phn b s con ca cc ph n ny theo tui. Bi 20. Cho mt xy bt k, khng s dng cc hm th vin v xu, hy xy dng mt hm i tt c cc ch thng thnh ch hoa (cc k t khc gi nguyn) v in c hai ra mn hnh. Vit mt chng trnh nhp mt xy bt k t bn phm, sau s dng hm xy dng trn in kt qu ra mn hnh. Bi 21. Cho mt xy bt k, khng s dng cc hm th vin v xu, hy xy dng mt hm i tt c cc ch hoa thnh ch thng (cc k t khc gi nguyn) v in c hai ra mn hnh. Vit mt chng trnh nhp mt xy bt k t bn phm, sau s dng hm xy dng trn in kt qu ra mn hnh. Bi 22. Cho mt xy bt k, khng s dng cac shamf th vin v xu, hy xy dng mt hm i tt c cc ch hoa ca xy thnh ch thng, v ngc li, i cc ch thng ca xu thnh ch hoa (cc ch khc gi nguyn) v in c hai ra mn hnh. Vit mt chng trnh nhp mt xu bt k t bn phm, sau s dng hm xy dng trn in kt qu ra mn hnh. Bi 23. Cho cu trc: Code:
struc thisinh{ int sbd; char hoten[25]; float m1,m2,m3l float tong; } danhsach[100]; //S bo danh //H v tn //im ba mn thi //Tng im ba mn

Hy xy dng mt hm nhp s liu cho n th sinh. Sau vit mt chng trnh s dng hm ni trn nhp s liu v in bng im ca cc th sinh ny theo dng ba ct: S bo danh, H tn, Tng im. Bi 24. Cho mt xy bt, hy xy dng mt hm sa cc li chnh t khng vit hoa u cu trong xu ny, in ra xu cha sa v xu sa. Sau vit mt chng trnh nhp mt xu v s dng hm ni trn sa li. Bi 25. Cho cu trc: Code:
struc dienthoai{

int char float } thuebao[100];

sdt; hoten[25]; sotien;

//S in thoi //H v tn //S tin phi np

Hy xy dng mt hm nhp s liu cho n thu bao. Sau vit mt chng trnh s dng hm ni trn nhp s liu v in bng s tin phi np ca cc thu bao theo dng ba ct: H tn, s in thoi, s tin phi np. Bi 26. Hy xy dng mt hm in ra mn hnh ni dung mt tp vn bn bt k (c dng li sau mi trang mn hnh). Sau , vit mt chng trnh nhp vo t bn phm tn ca mt tp vn bn v s dng hm ni trn in ni dung ca tp ny ra mn hnh. Bi 27. Cho tui v trnh vn ha (0-4) ca n ngi, hy xy dng mt hm in bn phn b ca s ngi ny theo nhm 5 tui v trnh vn ha. Sau , vit mt chng trnh nhp tui v trnh vn ha ca n ngi, s dng hm ni trn in kt qu ra mn hnh. Bi 28. Vit mt chng trnh nhp tui v trnh vn ha (0-4) ca n ngi, sau ghi cc s liu ny ln mt tp mode vn bn. Bi 29. Cho mt xu bt k, hy xy dng mt hm sa cc li chnh t khng c du cch sau du phy v sau du chm, in ra mn hnh xu cha sa v xu sa. Sau vit chng trnh nhp mt xu bt k v s dng hm ni trn sa li. Bi 30. Cho mt xu bt k, hy xy dng mt hm sa cc li chnh t khng c du cch gia cc t, in ra xu gc v xu sa. Sau vit mt chng trnh nhp mt xu k t bt k v s dng hm ni trn sa li. Bi 31. Cho mt xu bt k, hy xy dng mt hm vit hoa ch ci u tin ca tt c cc t trong xu cho, in ra xu gc v xu sa. Sau vit mt chng trnh nhp mt xu k t bt k v s dng hm ni trn sa li. Bi 32. Cho cu trc: Code:
struc tiendien{ char hoten[25]; float csc,csm; float dg; float tong; } danhsach[100]; //H v tn //Ch s c, ch s mi //n gi/Kw //Tng tin phi np

Hy xy dng mt hm nhp s liu cho n h s dng in. Sau , vit mt chng trnh s dng hm ni trn nhp s liu v in bng tnh tin s dng in thoi ca cc h ny theo dng hai ct: H tn, s in tiu th, Tng s tin. Bi 33. Hy xy dng mt hm nhp t bn phm mt mng cc s thc. Vit chng trnh s dng hm ni trn nhp s liu cho hai mng s thc cng c n phn t, in ra mn hnh ba ct song song, hai ct u l hai mng nhp, cn ct th ba l hiu ca hai ct u,

dng cui cng ca c ba ct l tng ca cc phn t trong ct. Bi 34. Cho F l mt s thc ln hn 2, v , vi x l mt s nguyn dng bt k. Hy xy dng mt hm tm gi tr ln nht ca n sao cho S<=F, in ra mn hnh cc gi tr ca x, F, S v n. Vit mt chng trnh nhp vo t bn phm s thc F, s nguyn dng x v s dng hm ni trn i vi cc gi tr nhp in kt qu ra mn hnh. Bi 35. Cho F l mt s thc ln hn 2, v , vi x l mt s nguyn dng bt k. Hy xy dng mt hm tm gi tr nh nht ca n sao cho S<=F, in ra mn hnh cc gi tr ca x, F, S v n. Vit mt chng trnh nhp vo t bn phm s thc F, s nguyn dng x v s dng hm ni trn i vi cc gi tr nhp in kt qu ra mn hnh. Bi 36. Hy xy dng mt hm nhp t bn phm mt mng cac s thc. Vit chng trnh s dng hm ni trn nhp s liu cho hai mng s thc cng c n phn t, in ra mn hnh ba ct song song, hai ct u l hai mng nhp, ct th ba l tch ca hai ct u, dng cui cng ca c ba ct l tng cc phn t trong ct. Bi 37. Vit mt chng trnh nhp s bo danh, h tn v im thi ba mn Ton, L, Ha ca n th sinh, sau ghi cc s liu ny ln mt tp mode vn bn. Bi 38. Hy xy dng mt hm in ra mnaf hnh ni dung ca mt tp vn bn bt k theo dng trang mn hnh c nh s trang. Sau , vit mt chng trnh nhp t bn phm tn ca mt tp vn bn v s dng hm ni trn in ni dung ca tp ny ra mn hnh. Bi 39. Hy xy dng mt hm in ra mnafh nh ni dung ca mt tp vn bn bt k theo dng trang mn hnh, dng u ca mi trang c nh s trang gc bn phi v tn tp gc tri. Sau , vit mt chng trnh nhp t bn phm tn ca mt tp vn bn v s dng hm ni trn in ni dung ca tp ny ra mn hnh. Bi 40. Cho cu trc Code:
struc thisinh{ int sbd; char hoten[25]; float m1,m2,m3l float tong; } danhsach[100]; //S bo danh //H v tn //im ba mn thi //Tng im ba mn

Vit chng trnh (c s dng cc hm) thm v bt cc th sinh theo th t gim dn ca tng im, v in ra mnaf hnh danh sch sp.

Trch: tuananhk43 Bi 1. Vit chng trnh nhp t bn phm n s nguyn dng nh hn 100, in ra mn hnh hai ct song song, mt ct l cc s, cn ct kia l tng ca cc ch s tng ng ct th nht. Tm v in ra s c tng ca cc ch s l ln nht, nu c nhiu hn mt s nh vy th in s u tin. Code:
#include <iostream.h> #include<conio.h> #include<iomanip.h> //Ham tinh tong cac chu so //Vd n=15 thi tra ve gia tri la 6 int tong(int n){ int a,b; a=(int)n/10; b=n-a*10; return a+b; } //Ham nhap cac gia tri cho mot mang void nhap(int *a,int n){ for (int i=0;i<n;i++){ cout<<"Nhap a["<<i<<"]="; cin>>a[i]; } } //Ham in cac gia tri thanh hai cot void in(int *a,int n){ int tong1=0, tong2=0; int max; //Dung de tinh gia tri lon nhat cua tong int val; cout<<setw(15)<<"STT"<<setw(15)<<"Tong"<<"\n"; max=tong(a[1]); for(int i=0;i<n;i++){ cout<<setw(15)<<a[i]<<setw(15)<<tong(a[i])<<"\n"; if (max<tong(a[i])) { max=tong(a[i]); val=a[i]; } } cout<<"-------------------------------\n"; cout<<setw(15)<<val<<setw(15)<<max<<"\n"; }

int main(){ //clrscr(); int n; int a[100]; cout<<"Nhap N="; cin>>n; nhap(a,n); in(a,n); //getch(); }

p n Bi 2. Mt ngi gi tit kim a ng vi li sut s% mt thng (tnh li hng thng). Vit mt chng trnh tnh v in ra mn hnh hai ct song song, ct th nht l s thng gi, ct th hai tng s tin (c vn v li) ng vi s thng ct th nht cho mt khong thi gian t 1 n t thng, vi a, s, t c nhp t bn phm. Code:
#include <iostream.h> #include <iomanip.h> void main(){ float a, s, kq; int t; cout<<"nhap so tien gui ban dau: "; cin>>a; cout<<"nhap lai suat hang thang: "; cin>>s; cout<<"nhap so thang tiet kiem : "; cin>>t; kq = a; cout<<"+---+-----------------+"<<endl <<"| T | Tien von va lai |"<<endl <<"+---+-----------------+"<<endl; for(int i=1; i<=t; i++){ kq *= (1+s/100); cout<<"|"<<setw(2)<<i<<" |" <<setw(17)<<setprecision(2)<<setiosflags(ios::showpoint | ios::fixed) <<kq <<"|"<<endl; } cout<<"+---+-----------------+"<<endl; }

khi nhp li xut, nu li xut l 0,7 % / thng th hy nhp 0.7 (ch khng phi nhp l 0.007) khi sau mi thng tin li v vn s = tin thng trc + tin thng trc x li sut chnh l cng thc trn: kq *= (1 + s/100)

Bi 3. Mt ngi gi tit kim ng vi li sut l s% mt thng trong k hn 6 thng (6 thng tnh li mt ln). Vit chng trnh tnh v in ra mn hnh hai ct song song, ct th nht l s thng gi, ct th hai l tng tin (c vn v li) ng vi s thng ct th nht cho mt khong thi gian t 6 thng n t thng, vi a, s, v t c nhp t bn phm. (Bit rng nu lnh khng chn k no th khng c tnh li k y). Code:
#include <iostream.h> #include <iomanip.h> void main(){ float a, s, kq; int t; cout<<"nhap so tien gui ban dau: "; cin>>a; cout<<"nhap lai suat hang thang: "; cin>>s; cout<<"nhap so thang tiet kiem : "; cin>>t; kq = a; cout<<"+---+-----------------+"<<endl <<"| t | Tien von va lai |"<<endl <<"+---+-----------------+"<<endl; for(int i=1; i<=t; i++){ if(i%6==0) for(int k=0;k<6;k++)kq *= (1+s/100); cout<<"|"<<setw(2)<<i<<" |" <<setw(17)<<setprecision(2)<<setiosflags(ios::showpoint | ios::fixed) <<kq <<"|"<<endl; } cout<<"+---+-----------------+"<<endl; }

bi ny ging bi 2, ch tnh li sau mi 6 thng

p n Bi 4. Cho x l mt s thc, hy xy dng hm tnh v in ra mn hnh hai ct song song, ct th nht l gi tr ca i s, ct th hai l gi tr ca hm f ng vi i s ct th nht: Sau , vit mt chng trnh nhp t bn phm mt mng gm n s thc, v gi hm lp c trn vi i s l cc s va nhp.

Code:
#include <iostream.h> #include <iomanip.h> #include <math.h> const float PI=4.1415;

//Ham nhap mang cac so thuc void nhapMang(float *a,char *name, int n){ for (int i=0; i<n;i++) { cout<<name<<"["<<i+1<<"]="; cin>>a[i]; } } //Ham tinh gia tri cua ham F theo cong thuc //Neu X<=0 thi F(x)=0 //Neu 0<X<=2 thi F(x)=x*x-x //Neu x>2 thi F(X)=(x*x-sin(x*x*PI)) float f(float x) { if (x<=0) return 0; else if (x<=2) return float(pow(x,2)-x); else return float(pow(x,2)-sin(pow(x,2)*PI)); } //Than ham main void main(){ float a[10], x; int n; cout<<"Nhap so phan tu N="; cin>>n; //Goi ham nhap mang nhapMang(a,"a",n); //Dinh dang hien thi so thuc cout<<setiosflags(ios::showpoint|ios::fixed); cout<<setprecision(2); //In gia tri cua mang tuong ung voi gia tri ham F(X) //Hien thi hai cot song song cout<<"+-----------+-----------------+"<<endl <<"| X | F(X) |"<<endl <<"+-----------+-----------------+"<<endl; for(int i=0; i<n; i++) { cout<<"|"<<setw(10)<<a[i]<<" |"; cout<<setw(17)<<f(a[i])<<"|"<<endl; } cout<<"+----------+------------------+"<<endl; }

Bi 5. Vit chng trnh tnh v in ra mn hnh s tin in thng 10/99 ca n khch hng theo cc ch s trn ng h in ca thng 9 v ca thng 10 c nhp vo t bn phm (phi kim tra m bo rng ch s ca thng sau phi ln hn ch s ca cc thng trc). Bit rng: 50 s u tin gi 500 ng/s, 100 s tip theo gi 800 ng/s, 100 s tip theo na gi 1000 ng/s, 100 s tip theo na gi 1200 ng/s, v t s th 351 tr i gi 1500 ng/s.

Sa u bi 1 t cho n gin: nhp s lng in tiu th, tnh s tin phi tr theo n gi trn (cha c thu VAT), VAT =10% Code:
/*n gi: t s: n gi 0-50: 500 51-150: 800 151-250: 1000 251-351: 1200 351 - ...: 1500 */ #include <iostream.h> #include <iomanip.h> void main(){ int n; float t=0; cout<<"nhap luong dien tieu thu: "; cin>>n; if(n>350)t+=(n-=350)*1500.0; if(n>250)t+=(n-=250)*1200.0; if(n>150)t+=(n-=150)*1000.0; if(n> 50)t+=(n-= 50)* 800.0; if(n> 0)t+=(n )* 500.0; cout<<"tien dien: " <<setprecision(0) <<setiosflags(ios::fixed) <<(t*1.1); }

Gi nu nhp 2 ch s th tr n i cho nhau th s ra lng in tiu th ng tc kim tra s sau ln hn s trc thit ngh rt n gin, cc bn sv t lm Khi hc n phn mng, chng ta s nhp s ngi tng ng l s phn t ca mng, sau vn dng bi ny tnh tin in cho tng ngi (tng gi tr trong mng) ch : t l s tin phi tr, t*1.1 l s tin c thu 10%

Bi 7. Vit chng trnh gii phng trnh bc hai ax2+bx+c=0 vi a, b, c bt k c nhp vo t bn phm. In ra mn hnh phng trnh bc hai vi cc h s nhp, gi tr ca delta v cc nghim thc ca n (nu c), ngcij li th in l khng c nghim thc. ch : nu a=0 th s thnh pt bc nht, nn tin y a lun bi gpt b1 Code:
#include <iostream.h> #include <iomanip.h> void main(void) { float a,b; cout<<"Nhap 2 he so cua pt bac nhat:";

cin>>a>>b; if(a!=0) cout<<"pt co 1 nghiem thuc x="<<(-b/a); else if(b==0) cout<<"pt lay nghiem nao cung dc"; else cout<<"pt vo nghiem"; }

gi nu a khc 0 th c pt bc 2: Code:
#include <iostream.h> #include <iomanip.h> #include <math.h> void main(void) { float a,b,c,d,x1,x2; cout<<"nhap 3 hs cua ptb2: "; cin>>a>>b>>c; d=b*b-4*a*c; if(d>=0){ x1=(-b-sqrt(d))/(2*a); x1=(-b+sqrt(d))/(2*a); cout<<"pt co 2 nghiem thuc"<<endl <<"nghiem thuc 1="<<x1<<endl <<"nghiem thuc 2="<<x2; } else{ cout<<"pt k co nghiem thuc"<<endl <<"pt co 2 nghiem phuc lien hop"<<endl; float thuc,ao; thuc=-b/2/a; ao=sqrt(-d)/2/a; cout<<"nghiem ao 1="<<thuc<<"-i"<<ao<<endl; <<"nghiem ao 2="<<thuc<<"+i"<<ao<<endl; }

Cc bn hy vn dng kin thc ca mnh kt hp thnh 1 bi hon chnh theo ng ngha vi a, b, c bt k

Bi 8. Nm 1999, dn s nc ta l 76 triu ngi, t l tng t nhin l k% mt nm. Lp


mt chng trnh in ra mn hnh hai ct song song, ct th nht l nm, ct th hai l dn s ca nm tng ng ct mt cho n khi dn s tng s ln so vi nm 1999. Cc s k v s c nhp vo t bn phm. Gii: Code:

#include <iostream.h> #include <iomanip.h> #include <math.h> #include <conio.h> void main(void) { clrscr(); int k; //% tang dan so hang nam float s;//So lan tang cout<<"Nhap % tang K="; cin>>k; cout<<"Nhap so lan tang S="; cin>>s; long dansocu=76000000,dansomoi; dansomoi=dansocu; int nam=1999; //Thiet lap dinh dang cout<<setiosflags(ios::showpoint|ios::fixed); cout<<setprecision(2); cout<<"\n------------------------------------------"; cout<<"\n"<<setw(20)<<"NAM"<<setw(20)<<"DAN SO"; cout<<"\n------------------------------------------"; while(dansomoi<=s*dansocu) { cout<<"\n"<<setw(20)<<nam<<setw(20)<<dansomoi; dansomoi=dansomoi+dansomoi*((float)k/100); nam++; } cout<<"\n------------------------------------------\n"; getch(); }

Bi 10. Xy dng mt hm sp xp theo th t tng dn mt mng gm n s thc. Vit


chng trnh nhp n s thc t bn phm, s dng hm sp xp ni trn, v in ra mn hnh hai ct song song, mt ct l mng cha sp xp, mt ct l mng c sp xp. Gii: Code:
#include <iostream.h> #include <iomanip.h> #include <math.h> #include <conio.h> void NhapMang(float a[],float b[],int n) { cout<<"\nNhap mang\n"; for (int i=0;i<n;i++) { cout<<"a["<<i<<"]="; cin>>a[i]; b[i]=a[i]; } } void InMang(float a[],float b[],int n) { cout<<setw(10)<<"TT"; cout<<setw(20)<<"Mang chua sap xep"; cout<<setw(20)<<"Mang da sap xep";

cout<<"\n-----------------------------------------------------"; for (int i=0;i<n;i++) { cout<<endl<<setw(10)<<i+1<<setw(20)<<a[i]<<setw(20)<<b[i]; } cout<<"\n-----------------------------------------------------\n"; } void SapXep(float a[],int n) { //Sap xep tang dan for(int i=0;i<n-1;i++) for(int j=i+1;j<n;j++) if (a[i]>a[j]) { float tg; tg=a[i]; a[i]=a[j]; a[j]=tg; } } void main(void) { clrscr(); float a[100],b[100]; int n; cout<<"Nhap N="; cin>>n; NhapMang(a,b,n); SapXep(b,n); //Thiet lap dinh dang cout<<setiosflags(ios::showpoint|ios::fixed); cout<<setprecision(2); InMang(a,b,n); getch();

Bi 11. Xy dng mt hm sp xp thep th t gim dn mt mng gm n s thc. Vit


chng trnh nhp n s thc t bn phm, s dng hm sp xp ni trn, v in ra mn hnh hai ct song song, mt ct l mng cha sp xp, mt ct l mng c sp xp. Gii: Code:
#include <iostream.h> #include <iomanip.h> #include <math.h> #include <conio.h> void NhapMang(float a[],float b[],int n) { cout<<"\nNhap mang\n"; for (int i=0;i<n;i++) { cout<<"a["<<i<<"]="; cin>>a[i]; b[i]=a[i]; } }

void InMang(float a[],float b[],int n) { cout<<setw(10)<<"TT"; cout<<setw(20)<<"Mang chua sap xep"; cout<<setw(20)<<"Mang da sap xep"; cout<<"\n-----------------------------------------------------"; for (int i=0;i<n;i++) { cout<<endl<<setw(10)<<i+1<<setw(20)<<a[i]<<setw(20)<<b[i]; } cout<<"\n-----------------------------------------------------\n"; } void SapXep(float a[],int n) { //Sap xep giam dan for(int i=0;i<n-1;i++) for(int j=i+1;j<n;j++) if (a[i]<a[j]) { float tg; tg=a[i]; a[i]=a[j]; a[j]=tg; } } void main(void) { //clrscr(); float a[100],b[100]; int n; cout<<"Nhap N="; cin>>n; NhapMang(a,b,n); SapXep(b,n); //Thiet lap dinh dang cout<<setiosflags(ios::showpoint|ios::fixed); cout<<setprecision(2); InMang(a,b,n); //getch(); }

Bi 12. Cho F l mt s thc ln hn 2, v S=1/2+1/3++1/n. Hy xy dng mt hm


tm gi tr ln nht ca n sao cho S<=F. Vit mt chng trnh nhp vo t bn phm m s thc Fi, s dng hm ni trn i vi cc hm Fi nhp v in ra mn hnh thnh ba ct song song: cc gi tr ca Fi, n, v S tng ng. Gii: Code:
#include <iostream.h> #include <iomanip.h> #include <math.h> #include <conio.h> int max(double f, double &s) { int i=1;

s=0; while(s<=f) { s+=(double)1/double(i++); } return i; } void main(void) { clrscr(); double f[100], s[100]; int n,i; cout<<"Nhap N="; cin>>n; for(i=0;i<n;i++) { cout<<"F["<<i<<"]"; cin>>f[i]; } //Thiet lap dinh dang cout<<setiosflags(ios::showpoint|ios::fixed); cout<<setprecision(2); clrscr(); cout<<endl<<setw(10)<<"F"<<setw(10)<<"MAX"<<setw(10)<<"S"; cout<<"\n--------------------------------"; for(i=0;i<n;i++) { cout<<endl<<setw(10)<<f[i]<<setw(10)<<max(f[i],s[i]); cout<<setw(10)<<s[i]; } cout<<"\n--------------------------------\n"; getch();

Bi 11 (ch li u bi): Nhp n phn t s thc t bn phm, in mng ra mn hnh, sp xp gim dn, in mng va sp xp. Code:
#include #include #include #include <iostream.h> <iomanip.h> <math.h> <conio.h> //khai bao //thu vien //thu vien //thu vien thu vien su dung luong nhap xuat dinh dang nhap xuat cac ham toan hoc cung cap cac ham ve man hinh, ban phim //thong bao qua trinh nhap bat dau //vong lap duyet tu chi so 0 den n-1 //moi lan: thong bao phan tu sap //nhap gia tri tu ban phim cho phan //ket thuc vong lap

void NhapMang(float a[], int n){ cout << "Nhap mang" << endl; for (int i = 0; i < n ; i++){ cout << "a[" << i << "] = "; duoc nhap cin >> a[i]; tu thu i }

//ket thuc ham NhapMang

void InMang(float a[], int n){ //Thiet lap dinh dang cout << setiosflags(ios::showpoint|ios::fixed); cout << setprecision(2); //in tung phan tu cua mang, cach nhau boi dau cach (space) for (int i = 0; i < n; i++)cout << a[i] << " "; cout << endl; } void SapXep(float a[], int n){ //Sap xep giam dan for(int i = 0; i < n-1; i++) for(int j = i+1; j<n; j++) if (a[i] < a[j]){ float tg = a[i]; a[i] = a[j]; a[j] = tg; } } void main(void) { clrscr(); //xoa man hinh float a[100]; //khai bao bien mang a co 100 phan tu s thc int n; //khai bao bien n luu so luong phan tu trong mang cout << "Nhap N = "; //thong bao cho nguoi dung nhap so luong cin >> n; //nhap gia tri cho bien n tu ban phim NhapMang(a,n); //nhap n gia tri cho tung phan tu cua mang cout << "Mang truoc khi sap xep:"<<endl; InMang(a,n); //in mang truoc khi sap xep SapXep(a,n); //sap xep mang cout << "Mang sau khi sap xep:"<<endl; InMang(a,n); //in mang sau khi da sap xep getch(); //cho nguoi dung an phim bat ky de thoat }

Ch : nu mun sp xp tng dn th thay ton t so snh nh hn trong on code trn bi ton t so snh ln hn. C th hm sp xp tng dn s l: Code:
void SapXep(float a[], int n){ //Sap xep tng dn for(int i = 0; i < n-1; i++) for(int j = i+1; j<n; j++) if (a[i] > a[j]){ float tg = a[i]; a[i] = a[j]; a[j] = tg; } }

Cn sp xp gim dn s l: Code:

void SapXep(float a[], int n){ //Sap xep tng dn for(int i = 0; i < n-1; i++) for(int j = i+1; j<n; j++) if (a[i] < a[j]){ float tg = a[i]; a[i] = a[j]; a[j] = tg; } }

Bi 11 (ch li u bi): Nhp n phn t s thc t bn phm, in mng ra mn hnh, sp xp gim dn, in mng va sp xp. Ta lm bi trn theo cch a qu trnh nhp s lng phn t vo trong hm nhp bng cch khai bo i s ca hm nhp: i s n l tham chiu Code:
#include #include #include #include <iostream.h> <iomanip.h> <math.h> <conio.h> //khai bao //thu vien //thu vien //thu vien thu vien su dung luong nhap xuat dinh dang nhap xuat cac ham toan hoc cung cap cac ham ve man hinh, ban phim

void NhapMang(float a[], int &n){ // n l tham chiu cout << "Nhap N = "; //thong bao cho nguoi dung nhap so luong cin >> n; //nhap gia tri cho bien n tu ban phim cout << "Nhap mang" << endl; //thong bao qua trinh nhap bat dau for (int i = 0; i < n ; i++){ //vong lap duyet tu chi so 0 den n-1 cout << "a[" << i << "] = "; //moi lan: thong bao phan tu sap duoc nhap cin >> a[i]; //nhap gia tri tu ban phim cho phan tu thu i } //ket thuc vong lap } //ket thuc ham NhapMang void InMang(float a[], int n){ //Thiet lap dinh dang cout << setiosflags(ios::showpoint|ios::fixed); cout << setprecision(2); //in tung phan tu cua mang, cach nhau boi dau cach (space) for (int i = 0; i < n; i++)cout << a[i] << " "; cout << endl; } void SapXep(float a[], int n){ //Sap xep giam dan for(int i = 0; i < n-1; i++) for(int j = i+1; j<n; j++) if (a[i] < a[j]){ float tg = a[i]; a[i] = a[j]; a[j] = tg; } }

void main(void) { clrscr(); //xoa man hinh float a[100]; //khai bao bien mang a co 100 phan tu s thc int n; //khai bao bien n luu so luong phan tu trong mang NhapMang(a,n); //nhap s lng n v gia tri cho tung phan tu cua mang cout << "Mang truoc khi sap xep:"<<endl; InMang(a,n); //in mang truoc khi sap xep SapXep(a,n); //sap xep mang cout << "Mang sau khi sap xep:"<<endl; InMang(a,n); //in mang sau khi da sap xep getch(); //cho nguoi dung an phim bat ky de thoat }

bi: Vit hm nhp n phn t s thc t bn phm: Chng ta ch vit 1 hm, khi cn s dng trong bi no, ta s a hm ny vo bi Cch 1: (kiu kinh in) Code:
void NhapMang(float a[], int &n){ // n l tham chiu cout << "Nhap N = "; //thong bao cho nguoi dung nhap so luong cin >> n; //nhap gia tri cho bien n tu ban phim cout << "Nhap mang" << endl; //thong bao qua trinh nhap bat dau for (int i = 0; i < n ; i++){ //vong lap duyet tu chi so 0 den n-1 cout << "a[" << i << "] = "; //moi lan: thong bao phan tu sap duoc nhap cin >> a[i]; //nhap gia tri tu ban phim cho phan tu thu i } //ket thuc vong lap } //ket thuc ham NhapMang

Cch 2: S dng con tr nh l bin mng Code:


void NhapMang(float *a, int &n){ cout << "Nhap N = "; //thong bao cho nguoi dung nhap so luong cin >> n; //nhap gia tri cho bien n tu ban phim cout << "Nhap mang" << endl; //thong bao qua trinh nhap bat dau for (int i = 0; i < n ; i++){ //vong lap duyet tu chi so 0 den n-1 cout << "a[" << i << "] = "; //moi lan: thong bao phan tu sap duoc nhap cin >> *(a+i); //nhap gia tri tu ban phim cho phan tu thu i } //ket thuc vong lap } //ket thuc ham NhapMang

y a c hiu l a ch ca u mng, tng ng vi a[0] v (a+i) l a ch ca phn t th i trong mng Cch 3: Kt hp 2 kiu trn

Code:
void NhapMang(float *a, int &n){ cout << "Nhap N = "; //thong bao cho nguoi dung nhap so luong cin >> n; //nhap gia tri cho bien n tu ban phim cout << "Nhap mang" << endl; //thong bao qua trinh nhap bat dau for (int i = 0; i < n ; i++){ //vong lap duyet tu chi so 0 den n-1 cout << "a[" << i << "] = "; //moi lan: thong bao phan tu sap duoc nhap cin >> a[i]; //nhap gia tri tu ban phim cho phan tu thu i } //ket thuc vong lap } //ket thuc ham NhapMang

Cch s dng: Hm nhp mng vi 3 cch trn u c th c s dng vo bi 11 ch vi bi gii ln 2 trn Cu hi: Nu bi l Nhp n phn t s nguyn t bn phm th chng ta s thay i ch no trong 3 hm trn?

bi: Nhp mng n phn t s nguyn t bn phm a0) Lit k cc s chn c trong mng b0) m cc s chn c trong mng c0) Tnh tng cc s chn c trong mng a1) Lit k cc s nguyn t c trong mng b1) m cc s nguyn t c trong mng c1) Tnh tng cc s nguyn t c trong mng Phn tch: Ta c hm nhp n phn t s nguyn trn roi. sau khi nhp xong s lng n, v n phn t s nguyn cho mng ta s duyt qua mi phn t ca mng: trong mi ln duyt, nu gp phn t tha mn iu kin ( l s chn (a0), hoc l s nguyn t (a1) ) th s x l phn t theo yu cu (lit k, m hoc l tnh tng ....) Ta c code C++ gii cc a1, b1, c1 nh sau: Code:
#include #include #include #include <iostream.h> <iomanip.h> <math.h> <conio.h> //khai bao //thu vien //thu vien //thu vien thu vien su dung luong nhap xuat dinh dang nhap xuat cac ham toan hoc cung cap cac ham ve man hinh, ban phim

void NhapMang(int *a, int &n){ cout << "Nhap N = "; //thong bao cho nguoi dung nhap so luong cin >> n; //nhap gia tri cho bien n tu ban phim cout << "Nhap mang" << endl; //thong bao qua trinh nhap bat dau for (int i = 0; i < n ; i++){ //vong lap duyet tu chi so 0 den n-1 cout << "a[" << i << "] = "; //moi lan: thong bao phan tu sap duoc nhap

cin >> *(a+i); //nhap gia tri tu ban phim cho phan tu thu i } //ket thuc vong lap } //ket thuc ham NhapMang int kiemtra_snt(int x){ // tra ve 1 neu x la snt, nguoc lai tra ve 0 for(int i=2; i<=sqrt(x); i++) if(x%i==0)return 0; //x chia het cho i => x khong phai la snt return 1; } void lietke_snt(int a[], int n){ //ham in ra cac so nguyen to for(int i=0; i < n; i++) if(kiemtra_snt(a[i])) cout<<a[i]<<" "; cout<<endl; } int dem_snt(int a[], int n){ //ham tra ve so luong so nguyen to int c=0; //khai bao bien c dung de dem snt for(int i=0; i < n; i++) if(kiemtra_snt(a[i])) c++; //tang bien dem len 1 return c; //tra ve so luong snt dem duoc } int tong_snt(int a[], int n){ //ham tra ve so luong so nguyen to int t=0; //khai bao bien t dung de tinh tong for(int i=0; i < n; i++) if(kiemtra_snt(a[i])) t += a[i]; //cong luy tien vao bien t return t; //tra ve tong cac so nguyen to } void main(void) { clrscr(); //xoa man hinh int a[100]; //khai bao bien mang a co 100 phan tu so nguyen int n; //khai bao bien n luu so luong phan tu trong mang NhapMang(a,n); //nhap n gia tri cho tung phan tu cua mang cout<<"Liet ke snt: "; lietke_snt(a,n); cout<<"so luong snt: "<<dem_snt(a,n)<<endl; cout<<"Tong cac so nguyen to: "<<tong_snt(a,n)<<endl; getch(); //cho nguoi dung an phim bat ky de thoat }

Cn cc a0, b0, c0 qu thc rt n gin, ta ch vic thay hm kiemtra l s cho kt qu nh mun!

bi: Nhp n phn t s nguyn, in ra mn hnh gi tr nh nht v ln nht trong mng Phn tch: Bi ny c nhiu cch gii Cch 1 (n gin nht): +u tin yu cu ngi dng nhp s lng phn t l n +lp n ln, mi ln nhp 1 gi tr, va nhp xong l so snh vi bin min v max, nu gi tr

va nhp b hn min th min s bng s va nhp, v nu s ln hn bin max th max s bng s Cch 2: dng mng (kinh in) + nhp mng n phn t s nguyn t bn phm ( c thut ton v code trn) + gn tm thi min v max bng phn t u tin + duyt qua ton mng: nu gi tr ang duyt b hn min hoc ln hn max th cp nht li min v max Cch 3: di dng nht + nhp mng n phn t s nguyn t bn phm ( c thut ton v code trn) + sp xp tng dn (hoc gim dn) + nu sp xp tng dn th min s l phn t u tin, v max s l phn t cui cng trong mng sp xp. gi mun roi, i ng ci , lc khc post code ln.

Bi 16. Hy xy dng mt hm nhp t bn phm mt mng s thc. Vit mt


chng trnh s dng hm xy dng c trn nhp s liu cho hai mng s thc, mt mng c n phn t, v mt mng c m phn t, in ra mn hnh hai ct song song, mi ct l mt mng vi cui cng l tng ca cc phn t trong mng, v cui cng l tng ca hai mng. Gii: Code:
#include <iostream.h> #include <iomanip.h> #include <math.h> //Do bi yu cu nhp hai mang //Chng ta cho thm tham s name hin th tn mng khi nhp void nhapMang(double *a,char *name, int n){ for (int i=0; i<n;i++) { cout<<name<<"["<<i+1<<"]="; cin>>a[i]; } } void main(){ double a[100],b[100]; int n,m,i; //Nhp s lng phn t mng A cout<<"Nhap N="; cin>>n;

//Nhp s lng phn t mng B cout<<"Nhap M="; cin>>m; //Nhap hai mang a[N], b[M] nhapMang(a,"a",n); nhapMang(b,"b",m); // Thit lp nh dng cout<<setiosflags(ios::showpoint|ios::fixed); cout<<setprecision(2); //Max chua so phan tu lon hon int max=m>n?m:n; double s1=0.0,s2=0.0;//Tong mang a la s1, tong mang b la s2 cout<<endl<<setw(5)<<"TT"<<setw(10)<<"A"<<setw(10)<<"B"; cout<<"\n---------------------------------"; for(i=0;i<max;i++) { if ((i<m) && (i<n)) { cout<<endl<<setw(5)<<i+1<<setw(10)<<a[i]<<setw(10)<<b[i]; s1=s1+a[i]; s2=s2+b[i]; } //Luc nay chi con phan tu cua mang A hoac B else if (i<n)//Neu i<n thi In phan tu cua mang a { cout<<endl<<setw(5)<<i+1<<setw(10)<<a[i]; s1=s1+a[i]; } else if (i<m)//Neu i<m thi In phan tu cua mang b { cout<<endl<<setw(5)<<i+1<<setw(10)<<" "<<setw(10)<<b[i]; s2=s2+b[i]; } } cout<<"\n---------------------------------"; cout<<endl<<setw(5)<<"Tong:"<<setw(10)<<s1<<setw(10)<<s2<<endl; cout<<"Tong: s1+s2="<<s1+s1<<endl; }

bi: Nhp n phn t s nguyn, in ra mn hnh gi tr nh nht v ln nht trong mng Cch 1 (n gin nht): +u tin yu cu ngi dng nhp s lng phn t l n +lp n ln, mi ln nhp 1 gi tr, va nhp xong l so snh vi bin min v max, nu gi tr

va nhp b hn min th min s bng s va nhp, v nu s ln hn bin max th max s bng s Code:
#include <iostream.h> void main(){ int x, i, n, min, max; cout << "Nhap so luong n = "; cin >> n; if ( n > 0 ) { cout<<" Gia tri phan tu thu dau tien = "; cin >> x; min = max = x; for ( i = 2 ; i<=n; i++ ){ cout<<" Gia tri phan tu thu "<<i<<" = "; cin >> x; if ( x < min ) min = x; if ( x > max ) max = x; } cout << "Gia tri lon nhat = " << max << endl; cout << "Gia tri nho nhat = " << min << endl; } }

//nhap so luong //so luong > 0 //nhap a[0] //min=max=a[0] //vong lap i=2->n //nhap a[i] //cap nhat min //cap nhat max //in ket qua

bi: Nhp n phn t s nguyn, in ra mn hnh gi tr nh nht v ln nht trong mng Cch gii 2: dng mng (kinh in) + nhp mng n phn t s nguyn t bn phm ( c thut ton v code trn) + gn tm thi min v max bng phn t u tin + duyt qua ton mng: nu gi tr ang duyt b hn min hoc ln hn max th cp nht li min v max Code:
#include <iostream.h> void NhapMang(int *a, int &n){ cout << "Nhap N = "; cin >> n; cout << "Nhap mang" << endl; for (int i = 0; i < n ; i++){ cout << "a[" << i << "] = "; cin >> *(a+i); } } void TimMinMax(int a[], int n, int &min, int &max){ min = max = a[0]; for (int i = 1; i < n ; i++){ if ( a[i] < min ) min = a[i]; if ( a[i] > max ) max = a[i];

void main(){ int a[100], n, min, max; NhapMang (a, n); TimMinMax (a, n, min, max); cout << "Gia tri lon nhat = " << max << endl; cout << "Gia tri nho nhat = " << min << endl; }

Ch : bin min v max trong i s hm TimMminMax l tham chiu nh void TimMinMax(int a[], int n, int &min, int &max) code trn hm tm min v max dng cch kinh in, ta c th thay i bng cch dng con tr nh sau: Code:
void TimMinMax(int *a, int n, int &min, int &max){ min = max = *a; for (int i = 1, *p=++a; i < n ; i++, p++){ if ( *p < min ) min = *p; if ( *p > max ) max = *p; } }

ch a tng ng vi con tr tr vo u mng nn *a tng ng vi a[0] ban u p tr vo phn t a[1] (khi khi to con tr *p=++a, tc l p tr ti a[1] ) trong mi vng lp p tr vo a[i], v cp nht min v max nu a[i] < min hoc a[i] > max sau p tr n phn t tip theo (lnh p++ ) (bin i y m bo duyt s duyt t a[1] n a[n-1] : duyt ht) C ai ko hiu cch lm vic ca hm tm min max th 2 ny khng?

bi: Nhp n phn t s nguyn, in ra mn hnh gi tr nh nht v ln nht trong mng Cch gii 3: di dng nht + nhp mng n phn t s nguyn t bn phm ( c thut ton v code trn) + sp xp tng dn (hoc gim dn) + nu sp xp tng dn th min s l phn t u tin, v max s l phn t cui cng trong mng sp xp. Code:
#include <iostream.h> void NhapMang(int *a, int &n){ cout << "Nhap N = "; cin >> n;

cout << "Nhap mang" << endl; for (int i = 0; i < n ; i++){ cout << "a[" << i << "] = "; cin >> *(a+i); }

void SapXep(int a[], int n) { //sp xp tng dn for (int i = 0; i < n - 1; i++) for (int j = i + 1; j < n; j++) if ( a[i] > a[j] ){ int tg = a[i]; a[i] = a[j]; a[j] = tg; } } void main(){ int a[100], n; NhapMang (a, n); SapXep (a, n); cout << "Gia tri nho nhat = " << a[0] << endl; cout << "Gia tri lon nhat = " << a[n-1] << endl; }

bi: Nhp n phn t s nguyn. Nhp phn t cn tm kim X. Nu trong n


phn t nhp c X th bo "tm thy", "s ln tm thy" v "cc v tr tm thy", ngc li bo "khng tm thy" V d: mng A gm cc phn t (theo th t ch s tng dn t 0) l 5, 2, 1, 6, 2, 4, 1, 3 gi tr tm kim X = 2 vy kt qu s l: Tm thy 2 (2 ln) ti v tr: 1, 4 Phn tch: sau khi nhp mng ta s m s lng phn t X c trong mng nu m thy c: tin hnh lit k cc v tr ngc li th thng bo khng c. n gin vy thi ta s chia cc cng vic ra tng hm ring hm nhp kinh in hm m tr v s lng phn t c gi tr bng gi tr cho trc hm lit k: tg t hm trn, mi khi gp a[i] bng x th in v tr ra (v tr l i) Code C++ y thc hnh no:

Code:
#include <iostream.h> void NhapMang(int a[], int &n){ cout << "Nhap so luong phan tu cua mang: "; cin >> n; for (int i = 0; i < n ; i++){ cout << "a[" << i << "] = "; cin >> a[i]; } } int DemSoLan(int a[], int n, int x) { int kq = 0; for (int i=0; i < n; i++) if (a[i] == x) kq++; return kq; } void LietKe(int a[], int n, int x) { for (int i = 0; i < n; i++) if (a[i] == x) cout << i << " "; } void main(){ int a[100], n, x, d; NhapMang (a, n); cout << "Gia tri tim kiem = "; cin >> x; d == DemSoLan (a, n, x); if (d > 0){ cout << "Tim thay " << x << " (" << d << " lan) tai vi tri: "; LietKe (a, n, x); } else cout << "Khong tim thay " << x; }

bi: Nhp n phn t s nguyn. Nhp phn t cn tm kim X. a ra mn hnh "TM THY" nu c X trong mng, ngc li bo "KHNG THY" Code:
#include <iostream.h> void NhapMang(int a[], int &n){ cout << "Nhap N = "; cin >> n; for (int i = 0; i < n ; i++){ cout << "a[" << i << "] = "; cin >> a[i]; } }

int TimKiem(int a[], int n, int x) { for (int i=0; i < n; i++) if(a[i]==x) return 1; return 0; } void main(){ int a[100], n, x; NhapMang (a, n); cout << "Gia tri tim kiem = "; cin >> x; if( TimKiem (a, n, x) ){ cout<<"TIM THAY"; else cout<<"KHONG THAY"; }

BAI TAP Tm c s chung ln nht ca hai s nguyn c nhp t bn phm Gii thch: Tnh c s chung ln nht ca 91 v 287. Trc ht ly 287 (s ln hn trong 2 s) chia cho 91: 287 = 91*3 + 14 (91 & 14 s c dng cho vng lp k) Nhn xt: bt k s no chia ht bi 287 v 91 cng s chia ht bi 287 - 91*3 = 14. Tng t, s chia ht bi 91 v 14 cng chia ht bi 91*3 + 14 = 287. Do , SCLN(91,287) = SCLN(91,14). Bi ton tr thnh tm SCLN(91,14). Lp li quy trnh trn cho n khi php chia khng cn s d nh sau: 91 = 14*6 + 7 (14 & 7 s c dng cho vng lp k) 14 = 7*2 (khng cn s d, kt thc, nhn 7 lm kt qu) Cui cng ta c: 7 = SCLN(14,7) = SCLN(91,14) = SCLN(287,91). Code:
#include <iostream.h> #include <math.h> int main() { int a,b; cout<<"Nhap a,b"; cin>>a>>b;

int x= abs(a), y= abs(b), r; while (y!=0) { r=x%y; x= y; y= r; } cout<<"USCLN="<<x; }

Hoc Code:
#include <iostream.h> #include <math.h> int main() { int a,b; cout<<"Nhap a,b"; cin>>a>>b; a=abs(a); b=abs(b); while(a-b) { if (a>b) a=a-b; else b=b-a; } cout<<"USCLN="<<a; }

BAI TAP
Mun tm bi s chung nh nht ca hai s a,b ta tm c s chung ln nht ca a v b. Sau ly tch a*b chia cho c s chung . Code:
#include <iostream.h> #include <math.h> int main() { int a,b; cout<<"Nhap a,b"; cin>>a>>b; int x= abs(a), y= abs(b), r; while (y!=0) { r=x%y; x= y;

y= r; } //x l c s chung ln nht ca a v b. cout<<"USCLN="<<a*b/x; }

Bi tp: Nhp mng n phn t s nguyn, nhp gi tr m, in ra mn hnh cc s khng ln hn m theo th t tng dn, cc s cn li theo th t gim dn Phn tch: Cho mt v d cc bn hiu yu cu nh: Gi s mng nhp vo c 10 phn t l: 2 9 8 3 7 4 6 5 1 0 v m l 6 th cn phi in ra: 0 1 2 3 4 5 6 9 8 7 Bi ny c nhiu cch gii, sau y l 1 cch: +khai bo mng, khai bo bin s lng n, khai bo bin m +Nhp mng: nhp n, nhp n phn t +nhp m +sp xp ton b mng theo th t tng dn +tm k l v tr phn t b nht trong mng sp xp nhng ln hn m +t k n cui mng: sp xp gim dn (c th dng thut ton soi gng y) +in mng ra mn hnh s c kt qu mong mun. code C++ n: Code:
#include <iostream.h> void NhapMang(int *a, int &n){ cout << "Nhap N = "; cin >> n; for (int i = 0; i < n ; i++){ cout << "a[" << i << "] = "; cin >> a[i]; } } void sap_xep(int a[], int n, int m){ int i,j,k; for(i=0; i<n-1; i++) for(j=i+1; j<n; j++) if(a[i]>a[j]){ int tg=a[i]; a[i]=a[j]; a[j]=tg; } for(k=0; k<n; k++) if(a[k]>m) break; for(i=k; i<n-1; i++) for(j=i+1; j<n; j++)

} void liet_ke(int a[], int n){ for(int i=0; i<n; i++) cout<<a[i]<<" "; } void main(){ int a[100], n, m; NhapMang(a,n); cout<<"nhap m="; cin>>m; sap_xep(a,n,m); liet_ke(a,n); }

if(a[i]<a[j]){ int tg=a[i]; a[i]=a[j]; a[j]=tg; }

Cc bc trong code trn l y ht vi qu trnh phn tch, nn malyfo ko vit ch thch vo na hn cc bn cng hiu c! phn trc c bi bi tp gptb2 vi h s a, b, c bt k, post 2 bi l gptb1 v gptb2 ring bit, nhng k thy c bn no ghp n li c gi rnh malyfo ghp li n: Code:
#include <iostream.h> #include <iomanip.h> #include <math.h> void gptb2(float a, float b, float c){ float d,x1,x2; d=b*b-4*a*c; if(d>=0){ x1=(-b-sqrt(d))/(2*a); x1=(-b+sqrt(d))/(2*a); cout<<"pt co 2 nghiem thuc"<<endl <<"nghiem thuc 1="<<x1<<endl <<"nghiem thuc 2="<<x2<<endl; } else{ cout<<"pt k co nghiem thuc\n"; cout<<"pt co 2 nghiem phuc lien hop"<<endl; float thuc,ao; thuc=-b/2/a; ao=sqrt(-d)/2/a; cout<<"nghiem ao 1="<<thuc<<"-i"<<ao<<endl; cout<<"nghiem ao 2="<<thuc<<"+i"<<ao<<endl; } } void gptb1(float a, float b){ if(a!=0) cout<<"pt co 1 nghiem thuc x="<<(-b/a)<<endl; else if(b==0) cout<<"pt co vo so nghiem"<<endl;

else cout<<"pt khong co nghiem thuc"; } void main(void){ float a,b,c; cout<<"nhap 3 hs cua ptb2: "; cin>>a>>b>>c; if(a!=0) gptb2(a,b,c); else gptb1(b,c); }

Bi 6. Vit mt chng trnh nhp vo t bn phm im kim tra ca mt mn hc ca n


hc sinh v in kt qu ra mn hnh di dng hai ct song song, mt ct l im v ct th hai l xp loi theo im vi cc qui nh sau: Di 5: Yu T 5 n di 7: Trung bnh T 7 n di 9: Kh T 9 tr ln: Gii Gii: Code:
#include <iostream.h> #include <iomanip.h> void main(){ clrscr(); float a[100]; int n; cout<<"Nhap so hoc sinh N="; cin>>n; for (int i=0;i<n;i++) { cout<<"a["<<i<<"]="; cin>>a[i]; } cout<<setprecision(0)<<setiosflags(ios::fixed); cout<<endl; cout<<setw(10)<<"TT"<<setw(10)<<"Diem"<<setw(20)<<"Xep loai"<<endl; for (int i=0;i<n;i++) { char *xeploai; if (a[i]<5) xeploai="Yeu"; else if(a[i]<7) xeploai="Trung Binh"; else if(a[i]<9) xeploai="Kha"; else

xeploai="Gioi"; cout<<setw(10)<<i<<setw(10)<<a[i]<<setw(20)<<xeploai<<endl; } getch(); }

Bi: Nhp mng n phn t s nguyn, kim tra xem mng c phi l tng dn
khng? nu khng phi th sp xp tng dn. Nhp s nguyn cn tm kim m, tm kim theo thut ton tm kim nh phn. nu thy bo s lng tm thy, v tr tm thy, ngc li thng bo khng thy. Sau khi tm xong, hi c tm na khg? nu tm na th li nhp m, ri tm y chang nh trn ... c th cho n khi tr li l khng mun tm na th thi V y l Code hon thin ghp ni cc module trn Code:
#include <iostream.h> void NhapMang(int *a, int &n){ cout << "Nhap N = "; cin >> n; for (int i = 0; i < n ; i++){ cout << "a[" << i << "] = "; cin >> a[i]; } } void SapXep_TangDan(int a[], int n){ for(int i=0; i<n-1; i++) for(int j=i+1; j<n; j++) if(a[i]>a[j]){ int tg=a[i]; a[i]=a[j]; a[j]=tg; } } int TimKiem_NhiPhan(int a[], int n, int x){ int i=0, j=n-1; while(i<j){ int m = (i+j)/2; if(x>a[m]) i=m+1;

else j=m; } return } int KiemTra_TangDan (int a[], int n){ for( int i = 0; i < n - 1; i ++ ) if ( a[i] > a[i+1] ) return 0; return 1; } void main(){ int a[100], n; NhapMang(a, n); if(! KiemTra_TangDan(a, n)) SapXep_TangDan(a, n); int m, i; cout << "Mng sp xp tng dn:"; for(i = 0; i < n; i++) cout << a[i] << " "; cout << endl; cout << "Nhap gia tri can tim: "; cin >> m; if( i = TimKiem_NhiPhan(a, n, m) ) cout << m << " o vi tri: " << i << endl; else cout << " Khong co phan tu " << m << " trong day " << endl; (x == a[ i ]) ? i+1 : 0;

Ch l bi trn cha c tm s lng. v cng cha lm c "Sau khi tm xong, hi c tm na khg? nu tm na th li nhp m, ri tm y chang nh trn ... c th cho n khi tr li l khng mun tm na th thi"

Gii quyt bi ton kiu "Sau khi tm xong, hi c tm na khg? nu tm na th li nhp m, ri tm y chang nh trn ... c th cho n khi tr li l khng mun tm na th thi" c th cho bi trn Code:
...//cc hm trn k post li nh void main(){ int a[100], n; NhapMang(a, n); if(! KiemTra_TangDan(a, n)) SapXep_TangDan(a, n); int m, i; cout << "Mang sap xep tang dan:"; for(i = 0; i < n; i++) cout << a[i] << " "; cout << endl;

char c; do{ cout << "Nhap gia tri can tim: "; cin >> m; if( i = TimKiem_NhiPhan(a, n, m) ) cout << x << " o vi tri: " << i << endl; else cout << " Khong co phan tu " << x << " trong day " << endl; cout<<"Tim tiep khong? (c/k)"; cin>>c; }while(c=='c'||c=='C'); }

Vy cch chung gii quyt l: khai bo 1 bin kiu k t cha tr li t cng vic cn lm trong vng lp kim tra sau do - while khi lm xong cng vic th hi li ngi dng c mun chy li khng? (c/k) v nu l C th s lm li! Code:
char c; do{ //lm cng vic g , m khi lm xong hi c lm tip k, nu ng s lm li cout<<"Tim tiep khong? (c/k)"; cin>>c; }while(c=='c'||c=='C');

Vit chng trnh nhp vo t bn phm bn knh R ca hnh cu. Hy tnh v in ra din tch v th tch hnh cu : Code:
#include<iostream.h> #include<iomanip.h> float main() { const float PI=3.1415; float s,v,r; //Yu cu nhp r>0, trong khi r<=0 th nhp li r do { cout<<"Nhap ban kinh R=";cin>>r; }while(r<=0); s=4*PI*r*r; v=4*PI*r*r*r/3; cout<<setiosflags(ios::showpoint|ios::fixed); cout<<setprecision(2); cout<<"\nV="<<v; cout<<"\nS="<<s<<endl; }

Nhp mng n phn t s nguyn, tm gi tr phn t xut hin nhiu nht trong mng, nu c nhiu gi tr khc nhau cng xut hin nhiu nht th lit k ht cc gi tr ra. v d 1: c 11 phn t: 1 4 4 2 2 4 5 6 3 6 6 th thng bo gi tr 4 xut hin 3 ln gi tr 6 xut hin 3 ln. v d 2: c 12 phn t: 1 2 3 3 3 2 2 3 3 4 4 5 th thng bo gi tr 3 xut hin 5 ln Phn tch cch 2 sau khi c mng n phn t s nguyn ta sp xp tng dn(hoc gim dn cng OK) mng khi cng dng mng m d lu s ln xut hin ca tng phn t (ch ny c khc i 1 t d dng vic loi b gi tr lp hn bng cch duyt t u n ht mng sp xp mi khi gp gi tr trng (trng th ng cnh nhau do sp xp) th tng s bin m thi d[0]=1; for( i = 1; i < n; i++ ) d[i] = ( a[i]==a[i-1] ) ? d[i-1]+1 : 1 ; khi tm max = gi tr max trong mng d ri lit k li cc gi tr a[k] tng ng vi d[k] c gi tr bng max Cc bn cng phn tch nh! OK? Code:
#include <iostream.h> void NhapMang(int *a, int &n){ cout << "Nhap N = "; cin >> n; for (int i = 0; i < n ; i ++){ cout << "a[" << i << "] = "; cin >> a[i]; } }

void SapXep_TangDan(int a[], int n){ for(int i=0; i<n-1; i++) for(int j = i + 1; j < n; j ++) if(a[i] > a[j]){ int tg = a[i]; a[i] = a[j]; a[j] = tg; } } void Dem(int *a, int *d, int n){ d[0]=1; for(int i = 1; i < n; i ++) if( a[i] == a[i-1] ) d[i] = d[i-1] + 1; else d[i] = 1; //d[i] = ( a[i]==a[i-1] ) ? d[i-1]+1 : 1 ; } int max(int *a, int n){ int m = a[0]; for(int i = 1; i < n; i ++) if (a[i] > m) m = a[i]; return m; } void LietKe(int *a, int *d, int n){ int m = max(d, n); for(int k = 0; k < n; k ++) if(d[k] == m) cout<<"Gia tri "<<a[k]<<" xuat hien "<<m<<" lan"<<endl; } void main(){ int a[100], d[100], n; NhapMang(a, n); SapXep_TangDan(a, n); Dem(a, d, n); LietKe(a, d, n); }

BAI TAP
Vit chng trnh c v 2 s nguyn v in ra kt qu ca php (+), php tr (-), php nhn (*), php chia (/). Nhn xt kt qu chia 2 s nguyn. Code:

#include<iostream.h> #include<math.h> int main() { int a,b; //hai toan hang a,b char ch;//dau cua phep toan int s; cout<<"Nhap a="; cin>>a; cout<<"Nhap b="; cin>>b; cout<<"Nhap toan hang ch="; cin>>ch; switch (ch) { case '+': s=a+b; cout<<a<<ch<<b<<"="<<s; break; case '-': s=a-b; cout<<a<<ch<<b<<"="<<s; break; case '*': s=a*b; cout<<a<<ch<<b<<"="<<s; break; case '/': if(b!=0)//Neu b<>0 thi a/b { s=a/b; cout<<a<<ch<<b<<"="<<s; } else cout<<"Khong thuc hien phep chia"; break; default: cout<<"Khong thuc hien duoc"; } }

BAI TIEP Vit chng trnh nhp vo bn knh hnh cu, tnh v in ra din tch, th tch ca hnh cu . Hng dn: S = 4*PI*R*R v V = (4/3)*PI*R*R*R. Code:
#include<iostream.h> const float PI=3.1415; int main() { float r,s,v; do { cout<<"Nhap ban kinh R="; cin>>r;

}while(r<=0); s=4*PI*r*r; v=4*PI*r*r*r/3; cout<<endl<<"Dien tich s="<<s; cout<<endl<<"The tich v="<<v;

Vit chng trnh nhp vo mt s a bt k v in ra gi tr bnh phng (a2), lp phng (a3) ca a v gi tr (a4). Code:
#include<iostream.h> #include<math.h> int main() { double a; cout<<"Nhap a="; cin>>a; double a2,a3,a4; a2=pow(a,2); a3=pow(a,3); a4=pow(a,4); cout<<endl<<"a2="<<a2; cout<<endl<<"a3="<<a3; cout<<endl<<"a4="<<a4; }

BAI TIEP Vit chng trnh nhp vo s giy t 0 n 86399, i s giy nhp vo thnh dng "gio:phut:giay", mi thnh phn l mt s nguyn c 2 ch s. V d: 02:11:05 Code:
#include<iostream.h> int main() { long int num; int h,m,s; cout<<"Nhap so:"; cin>>num; //S la so giay s=num%60; num=num/60; //m la so phut m=num%60; num=num/60; //h la so gio h=num%60; num=num/60; //Neu h<10 phai them so 0 dang truoc if (h<10) cout<<"\n0"<<h;

else

cout<<h;

if (m<10) cout<<":0"<<m; else cout<<":"<<m; if (s<10) cout<<":0"<<s; else cout<<":"<<s; }

BAI TIEP Vit chng trnh nhp vo s nguyn dng, in ra thng bo s chn hay l. Hng dn: Nhp vo s nguyn dng x. Kim tra nu x chia chn cho hai th x l s chn (hoc chia cho 2 d 0) ngc li l s l. Code:
#include<iostream.h> int main() { int x; do { cout<<"Nhap X="; cin>>x; }while(x<=0); if (x%2==0) cout<<"X la so chan"; else cout<<"X la so le"; }

BAI TAP Vit chng trnh nhp vo 4 s nguyn. Tm v in ra s ln nht. Code:


#include<iostream.h> int main() { int a,b,c,d; cout<<"Nhap a,b,c,d"; cin>>a>>b>>c>>d; int max,m1,m2; max=(m1=(a>b)?a:b)>(m2=(c>d)?c:d)?m1:m2; /* Hoac m1=(a>b)?a:b);

m2=(c>d)?c:d); max=m1>m2?m1:m2; */ cout<<"Max="<<max; }

Bi 5: Vit chng trnh nhp vo s giy, i s giy nhp vo thnh dng


"gio:phut:giay", mi thnh phn l mt s nguyn c 2 ch s. Code:
#include <iostream.h> void main(){ long t; cout<<"Nhap tong so giay can quy doi:"; cin>>t; int s = t%60; int m = t/60%60; int h = t/60/60%24; if(h<10)cout<<0; cout<<h<<':'; if(m<10)cout<<0; cout<<m<<':'; if(s<10)cout<<0; cout<<s; }

Nu mun vit ra gi:pht:giy am/pm th ta chnh mt cht nh sau: Code:


#include <iostream.h> void main(){ long t; cout<<"Nhap tong so giay can quy doi:"; cin>>t; int s = t%60; int m = t/60%60; int h = t/60/60%24; if(h<10)cout<<0; if(h>12)cout<<(h-12)<<':'; else cout<<h<<":"; if(m<10)cout<<0; cout<<m<<':'; if(s<10)cout<<0; cout<<s; if(h>12)cout<<" pm"; else cout<<" am"; }

Bi 5: Vit chng trnh nhp vo s giy, i s giy nhp vo thnh dng "gio:phut:giay", mi thnh phn l mt s nguyn c 2 ch s. Code:
#include <iostream.h> void main(){

long t; cout<<"Nhap tong so giay can quy doi:"; cin>>t; int s = t%60; int m = t/60%60; int h = t/60/60%24; if(h<10)cout<<0; cout<<h<<':'; if(m<10)cout<<0; cout<<m<<':'; if(s<10)cout<<0; cout<<s; }

Nu mun vit ra gi:pht:giy am/pm th ta chnh mt cht nh sau: Code:


#include <iostream.h> void main(){ long t; cout<<"Nhap tong so giay can quy doi:"; cin>>t; int s = t%60; int m = t/60%60; int h = t/60/60%24; if(h<10)cout<<0; if(h>12)cout<<(h-12)<<':'; else cout<<h<<":"; if(m<10)cout<<0; cout<<m<<':'; if(s<10)cout<<0; cout<<s; if(h>12)cout<<" pm"; else cout<<" am"; }

p dng bi trn, vit 1 hm quy i, in ra thi gian vo v ra ca lch hc bui sng tit 1 bt u vo lc 6h30 sng Code:
#include <iostream.h> void qd(long t){ int s = t%60; int m = t/60%60; int h = t/60/60%24; if(h<10)cout<<0; if(h>12)cout<<(h-12)<<':'; else cout<<h<<":"; if(m<10)cout<<0; cout<<m<<':'; if(s<10)cout<<0; cout<<s; if(h>12)cout<<" pm"; else cout<<" am"; cout<<endl; } void main(){ long t=(long)6*60*60 + 30*60; cout<<"vao t1="; qd(t); t+=45*60; cout<<" ra t1="; qd(t); t+=5*60; cout<<"vao t2="; qd(t); t+=45*60; cout<<" ra t2="; qd(t); t+=5*60; cout<<"vao t3="; qd(t); t+=45*60; cout<<" ra t3="; qd(t); t+=10*60; cout<<"vao t4="; qd(t); t+=45*60; cout<<" ra t4="; qd(t); t+=5*60; cout<<"vao t5="; qd(t); t+=45*60;

cout<<" ra t5="; qd(t); t+=5*60; cout<<"vao t6="; qd(t); t+=45*60; cout<<" ra t6="; qd(t);

Nhp vo s nguyn dng n. In ra mn hnh cc s nguyn t t 1 n n Bi ny cha c thut ton no hay hn sng Eratosthene l mt gii thut c xa lp bng tt c cc s nguyn t nh hn mt s n cho trc. Gii thut da trn tnh cht: mi hp s m u c c nguyn t khng vt qu cn bc hai ca m. Gii thut u tin xa s 1 ra khi tp cc s nguyn t. S tip theo s 1 l s 2, l s nguyn t. Bt u t s 2 xo tt c cc bi ca 2 ra khi bng.S u tin khng b xo sau s 2 (s 3) l s nguyn t. Tip theo li xo cc bi ca 3... Tt c cc s cha b xo l s nguyn t. Vi bi ton ca bn c th ci t gii thut ny nh sau: Code:
#include <iostream.h> #include <conio.h> #include <iomanip.h> int main() { int N; cout<<"Nhap N: "; cin>>N; char *a = new char(N+1); int i, j; for(i = 2; i <= N/2; i++) //if(!a[i]) for(j = i+i; j < N; j += i) a[j] = 1; for(i = 2; i <= N; i++) if(!a[i]) cout<<setw(10)<<i; cout<<endl; }

Hoc Code:
#include<iostream.h> #include<iomanip.h> //Ham kim tra n c phi l s nguyn t khng int nguyento(int n) { if (n<2)

return 0; } int d=0; for(int i=2;i<=int(n/2);i++) if (n%i==0) { d++; } return d; } void main() { int n; cout<<"Nhap N="; cin>>n; int a[n]; for(int i=0;i<n;i++) a[i]=0; for(int i=0;i<n;i++) if(nguyento(i))//Nu i KHNG l s nguyn t th gn a[i]=0 a[i]=0; else a[i]=1; //i l s nguyn t for(int i=2;i<n;i++) if (a[i]) //Nu a[i]==1, ngha l i l s nguyn t th in cout<<setw(10)<<i; cout<<endl;

Vit chng trnh nhp vo s t nhin N ri thng bo ln mn hnh s c phi l s nguyn t hay khng. tng: N l s nguyn t nu N khng c c s no N div 2. T nh ngha ny ta a rat 2 Gii thut: - N div 2 lu vo bin d.m s c s ca N t 2 - Nu d=0 th N l s nguyn t. Code:
#include<iostream.h> #include<iomanip.h> void main() { int n; cout<<"Nhap N="; cin>>n;

if (n<2) { cout<<n<<" khong phai la so nguyen to"; return 0; } int d=0; for(int i=2;i<=int(n/2);i++) if (n%i==0) { d++; } if (d==0) cout<<setw(10)<<n<<" la so nguyen to"; else cout<<setw(10)<<n<<" KHONG la so nguyen to";

bi: Vit chng trnh nhp vo s t nhin N ri thng bo ln mn hnh s


c phi l s nguyn t hay khng. Phn tch: ta bit s nguyn t ch chia ht cho 1 v chnh n. vy khi s nguyn N khng l s nguyn t, th x l hp s, tc l N=a.b , v khng mt tnh tng qut ta c th gi s a<=b. Khi max(a) = b, v N = a . a Vy ta suy ra gi tr ln nht ca a l cn bc 2 ca N Nn ta ch cn kim tra cc s nguyn trong khon t 2 n cn bc 2 ca N, nu tn ti 1 gi tr i m N chia ht cho i th kt lun N khng phi s nguyn t, ngc li th N l s nguyn t Code:
#include <iostream.h> #include <math.h> int kiemtra_snt ( int x ) { for ( int i=2; i <= sqrt( x ); i++ ) if ( x % i == 0 ) return 0; return 1; } void main(){ int n; cout << "Nhap gia tri can kiem tra tinh nguyen to: "; cin >> n; if ( kiemtra_snt ( n ) ) cout << n << " la so nguyen to"; else cout << n << " KHONG la so nguyen to"; }

code khng dng hm Code:


#include <iostream.h> #include <math.h> void main(){

int n,i; cout << "Nhap gia tri can kiem tra tinh nguyen to: "; cin >> n; i=2; while(i<=sqrt( n ) && n%i!=0)i++; if (i<=sqrt( n ) ) cout << n << " KHONG la so nguyen to"; else cout << n << " la so nguyen to";

Ch : Cu lnh while(i<=sqrt( n ) && n%i!=0)i++; c ngha l: TRONG KHI i trong min kim tra, v N khng chia ht cho i th tng i ln 1 v tip tuc kim tra. Vng lp while kt thc khi biu thc iu kin nhn gi tr SAI, biu thc iu kin trn nhn gi tr SAI khi t nht 1 trong 2 thnh phn ca biu thc phi SAI (v ang dng ton t && ) V CH N BIU THC IU KIN NH THOT KHI WHILE BI i<=sqrt( n ) MANG GI TR NG, TH X KHNG PHI L SNT NGC LI: X LA S NGYN T Vit chng trnh nhp vo s giy t 0 n 86399, i s giy nhp vo thnh dng "gio:phut:giay", mi thnh phn l mt s nguyn c 2 ch s. V d: 02:11:05 Code:
#include<iostream.h> int main() { long int num; //num l s giy nhp vo t bn phm // s l s giy, m l s pht, h l s gi int h,m,s; cout<<"Nhap so:"; cin>>num; //S la so giay s=num%60; num=num/60; //m la so phut m=num%60; num=num/60; //h la so gio h=num; //Nu h<10 phi thm s o ng trc v d h=9 => "0"+"9"="09" if (h<10) cout<<"\n0"<<h; else cout<<h; if (m<10) cout<<":0"<<m; else cout<<":"<<m;

if (s<10) cout<<":0"<<s; else cout<<":"<<s; }

Cho F l mt s thc ln hn 2, v S=1/2+1/3++1/n. Hy xy chng trnh tm gi tr ln nht ca n sao cho S<=F

Code:
#include <iostream.h> void main() { int f,i; float s=0; cout<<"Nhap F="; cin>>f; for (i=1;;i++) { s+=1/(float)i; if (s>f) break; } cout<<"i="<<i; cout<<"\nS="<<s<<endl; }

Hoc: Code:
#include <iostream.h> void main() { int f,i; float s=0; cout<<"Nhap F="; cin>>f; i=0; while(s<=f) { i++; s+=1/(float)i; } cout<<"i="<<i; cout<<"\nS="<<s<<endl; }

Vit chng trnh nhp vo n s thc t bn phm. Tm v in ra s ln nht v s nh nht Code:

#include<iostream.h> void main() { int n; float s,max,min; cout<<"Nhap N="; cin>>n; for(int i=1;i<=n;i++) { cout<<"Nhap S"; cin>>s; if(i==1) { min=s; max=s; }else{ if (max<s)max=s; if (min>s) min=s; } } cout<<"Min="<<min; cout<<"Max="<<max; }

BAI TAP
Tm c chung ln nht (UCLN) ca 2 s nguyn m v n. p dng thut ton Euclide bng cch lin tip ly s ln tr i s nh khi no 2 s bng nhau th l UCLN. Trong chng trnh ta qui c m l s ln v n l s nh. Thm bin ph r tnh hiu ca 2 s. Sau t li m hoc n bng r sao cho m > n v lp li. Vng lp dng khi m = n. Code:
#include<iostream> void main() { int m, n, r; cout << "Nhp m, n: " ; cin >> m >> n ; if (m < n) { int t = m; m = n; n = t; } // nu m < n th i vai tr hai s while (m != n) { r = m - n ; if (r > n) m = r; else { m = n ; n = r ; } } cout << "UCLN = " << m ; }

Bi s chung v c s chung(viet theo kieu cu) Code:


#include <stdio.h> #include <conio.h> unsigned USCLN (unsigned n, unsigned m) { while (n != 0 && m != 0) if (n>m) n -= m; else m -= n; if (n == 0) return m; else return n; } unsigned BSCNN (unsigned n, unsigned m) { return n * m / USCLN(n, m); } void main() { unsigned n, m; printf("\nNhap hai vao so nguyen duong : "); scanf("%u%u", &n, &m); printf("\nUSCLN cua %u va %u = %u", n, m, USCLN(n,m)); printf("\nBSCNN cua %u va %u = %u", n, m, BSCNN(n,m)); getch(); }

Bi in ra lch ca mt nm bt k ln hn 1700 (Bi ny t lm y Code:


#include <iostream.h>

#include <conio.h> #include <stdlib.h> int songay(int,int); bool namnhuan(int nam); void InLich(int,int); int ThuDauTien(int,int); void main() { int nam; char chon; do { do { cout<<"Nhap vao nam(> 1700): "; cin>>nam; }while(nam < 1700); for(int i = 1;i <= 12;i++) { cout<<"Thang "<<i<<endl; InLich(i,nam); cout<<endl; } cout<<"\nBan co muon tiep tuc khong(y/n): "; cin>>chon; system("cls"); }while(chon == 'y'); cout<<"Thanh Nam cam on ban da su dung chuong trinh {an Enter de thoat)"; getch(); } int songay(int thang,int nam) { switch(thang) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; case 2: if(namnhuan(nam)) return 29; else return 28; case 4: case 6: case 9: case 11: return 30; } return 0; } bool namnhuan(int nam)

return ((nam % 4 == 0 && nam % 100 != 0)||(nam % 400 == 0)); } void InLich(int thang,int nam) { int ngayd = ThuDauTien(thang,nam); if(ngayd == 0) ngayd = 7; int i; int sn = songay(thang,nam); cout<<"\nMon\tTUE\tWED\tTHU\tFRI\tSAT\tSun\n"; for(i = 1;i <= ngayd - 1;i++) cout<<"\t"; for(i = 1;i <= sn;i++) { cout<<i<<"\t"; if((i + ngayd - 1) % 7 == 0) cout<<endl; } } long int funct1 (int nam,int thang) { long int result; if ( thang <= 2 ) nam -= 1; // result = nam; return (result); } long int funct2 (int thang) { long int result; if ( thang <= 2 ) result = thang + 13; else result = thang + 1; return(result); } long int day_count (int thang, int nam) { long int number; number = 1461 * funct1(nam,thang) / 4 + 153 * funct2(thang) / 5 + 1; return (number); } int ThuDauTien(int thang,int nam) { long int number_of_days1; int day_of_week; number_of_days1 = day_count (thang, nam); day_of_week = (number_of_days1 - 621049) % 7; return day_of_week; }

Bi kim tra s nguyn t (cach khac) Code:


/*Ham tinh so nguyen to */ #include<iostream.h> #include<conio.h> #include<math.h> bool LaNguyenTo(int n); void main() { int n; cout<<"Nhap vao mot so bat ky(hmcdt4): ";cin>>n; if(LaNguyenTo(n)) cout<<"La so nguyen to"; else { cout<<"Khong la so nguyen to vi no chia het cho "; for(int j=2;j<n;j++) { if(n%j==0) cout<<j<<" va "; } cout<<"The thoi"; } getch(); } bool LaNguyenTo(int n) { bool co=true; if(n<2) {cout<<"Du lieu nhap sai va so do "; return !co;} else { for(int i=2;i<=sqrt(n)+1;i++) { if(n%i==0) { co=false; break; } } } return 0; }

lai la lai suat ngan hang ne!! gui tien di cho giau to nhe Code:
(Ngn hng)Tm s tin nhn trong n thng khi bit li xut

Code:
#include<iostream.h> #include<conio.h> #include<math.h> void main() { double sotiengui,tienlai,laixuat; int sothang; cout<<"Nhap vao so tien gui: ";cin>>sotiengui; cout<<"Nhap vao lai xuat(%): ";cin>>laixuat; cout<<"Nhap vao so thang gui: ";cin>>sothang; for(int i=1;i<=sothang;i++) { tienlai=laixuat*sotiengui; sotiengui=sotiengui+tienlai; } cout<<"Vay so tien nguoi do gui trong "<<sothang<<" thang la: "<<sotiengui; getche(); }

In ra dy s ngc vi dy s nhp vo eg:cin 12345 >>>>> cout 54321 hmck43dt4 (hay khong ,rat don gian) Code:
#include <iostream.h> #include <conio.h> void main()

{ do {

long a; cout<<"a (Phai la so nguyen duong) = "; cin>>a; }while(a<0); cout<<"Vay "<<a<<" duoc viet nguoc lai la: "; if (a > 0) { while (a > 0) { cout<<a%10; a = a / 10; } } getche();

bai nay cuc de nhung van post len vi so co 1 so anh em con chua biet lam Tnh x^1/1! + x^2/2! + x^3/3! + ... + x^n/n! Code:
#include<iostream.h> #include<conio.h> #include<math.h> void main() { float x,tong=0.0,n,tg,mu=1.0,gt=1.0; cout<<"Nhap vao mot so thuc x= ";cin>>x; cout<<"Nhap vao n= ";cin>>n; for(int i=1;i<=n;i++) { mu=mu*x; gt=gt*i; tg=mu/gt; tong=tong+tg; } cout<<"Vay "; for(int j=2;j<=n;j++) { cout<<x<<"^"<<j<<"/"<<j<<"!"<<" + "; } cout<<x<<" = "<<(tong);

getch();

bi: Nhp vo mng n phn t s nguyn, sau in ra c chung ln nht ca tt c cc s code sa li t tng vdtt Code:
#include <iostream.h> void sapxep ( int a[], int n ) { for( int i = 1; i <= n - 1; i ++ ) for( int j = i + 1; j <= n; j ++ ) if( a[i] < a[j] ) { int tg = a[i]; a[i] = a[j]; a[j] = tg; } } void main(){ int n, a[100]; cout << "Nhap n="; cin >> n; for( int i = 1; i <= n; i ++ ) { cout << "a[" << i << "]="; cin >> a[i]; } sapxep(a, n); do{ a[1] = a[1] - a[n]; sapxep(a, n); } while( a[1] != a[n] ); cout << "Uoc chung lon nhat cua "; for ( i = 1; i <= n; i ++ ) cout << a[i] << ' '; cout << "la "<< a[1] << endl; }

bi: Nhp vo mng n phn t s nguyn, sau in ra c chung ln nht ca tt c cc s Code:


#include <iostream.h> void sapxep ( int a[], int n ) { for( int i = 0; i < n - 1; i ++ for( int j = i + 1; j < n; j ++ if( a[i] < a[j] ) { int tg = a[i]; a[i] = a[j]; } } void main(){ int n, a[100]; cout << "Nhap n="; cin >> n; for( int i = 0; i < n; i ++ ) { cout << "a[" << i << "]="; cin >> a[i]; } sapxep(a, n); do{ a[0] = a[0] - a[n-1]; sapxep(a, n); } while( a[0] != a[n-1] ); cout << "Uoc chung lon nhat cua for ( i = 0; i < n; i ++ ) cout cout << "la "<< a[0] << endl; }

) ) a[j] = tg;

"; << a[i] << ' ';

v theo cch th 2 cng ca vdtt Code:


#include <iostream.h> int ucln (int a, int b) { while ( a != 0 && b != 0 ) if ( a > b ) a -= b; else b -= a; return a ? a : b; } void main ( ) { int x[100], n; cout << "Nhap n: "; cin >> n; for( int i = 0; i < n; i ++ ){ cout << "x[" << i << "]="; cin >> x[i]; } int d = ucln(x[0], x[1]); for( i = 2; i < n; i ++ ) if (d == 1) break; else d = ucln(d, x[i]); cout << "uoc chung lon nhat la: " << d; }

Bi 5. Vit chng trnh tnh v in ra mn hnh s tin in thng 10/99 ca n khch hng
theo cc ch s trn ng h in ca thng 9 v ca thng 10 c nhp vo t bn phm (phi kim tra m bo rng ch s ca thng sau phi ln hn ch s ca cc thng trc). Bit rng: 50 s u tin gi 500 ng/s, 100 s tip theo gi 800 ng/s, 100 s tip theo na gi 1000 ng/s, 100 s tip theo na gi 1200 ng/s, v t s th 351 tr i gi 1500 ng/s. Gii: Code:
#include <iostream.h> #include <iomanip.h> #include <math.h> #include <conio.h> struct KhacHang { int csc,csm; double tien; }; //Ham tinh tien dien theo gia qui dinh //intput: So dien tieu thu //output: So tien phai tra double tinhtien(int tieuthu) { double tien; if (tieuthu<=50) tien=tieuthu*500; else if(tieuthu<=150) tien=50*500+(tieuthu-50)*800; else if(tieuthu<=250) tien=50*500+100*800+(tieuthu-150)*1000; else if(tieuthu<=350) tien=50*500+100*800+100*1000+(tieuthu-250)*1200; else tien=50*500+100*800+100*1000+100*1200+(tieuthu-350)*1500; return tien; } void main(void) { clrscr(); int n; KhacHang a[100]; cout<<"Nhap so khach hang N="; cin>>n; int i=0; while(i<n) { clrscr(); cout<<"\nNhap khach hang thu "<<i+1; cout<<"\nChi so cu:"; cin>>a[i].csc;

cout<<"\nChi so moi:";cin>>a[i].csm; //Neu chi so cmoi > chi so moi thi tang i //Tinh tien phai tra cho khac hang thu i if (a[i].csm>=a[i].csc){ int tieuthu=a[i].csm-a[i].csc; a[i].tien=tinhtien(tieuthu); i++; } } //Thiet lap dinh dang cout<<setiosflags(ios::showpoint|ios::fixed); cout<<setprecision(2); clrscr(); //Hien thi CSC, CSM, Tien phai tra cout<<"----------------------------------------\n"; cout<<"|"<<setw(5)<<"TT"<<setw(10)<<"CSC"; cout<<setw(10)<<"CSM"<<setw(15)<<"Tien |\n"; cout<<"----------------------------------------\n"; for(i=0;i<n;i++) { cout<<setw(5)<<i<<setw(10)<<a[i].csc<<setw(10)<<a[i].csm; cout<<setw(15)<<a[i].tien<<endl; } cout<<"----------------------------------------\n"; getch(); }

bi: Vit chng trnh thc hin thao tc cng, tr, nhn, chia trn hai s nguyn
(thc) c nhp vo t bn phm. V in ra kt qu nguyn. (Dng p kiu).*/ Code:
#include <stdio.h> #include <conio.h> #define Tong(a,b) a+b #define Hieu(a,b) a-b #define Tich(a,b) a*b #define Thuong(a,b) a/b void main() { int x,y,tong,hieu; float tich, thuong; clrscr(); printf("Moi nhap 2 so nguyen: ");

scanf("%d %d",&x,&y); tong=Tong(x,y); printf("\nTong cua %d va %d la: %d",x,y,tong); hieu=Hieu(x,y); printf("\nHieu cua %d va %d la: %d",x,y,hieu); tich=Tich(x,y); printf("\nTich cua %d va %d la: %d",x,y,int(tich)); [w]if[/w] (y==0) { printf("\nError: Khong chia duoc cho 0"); } else { thuong=Thuong(x,y); printf("\nThuong (nguyen) cua %d va %d la: %d",x,y,int(thuong)); } getch(); }

/*bai tap tinh tien dien ko khoa hoc nhung de hieu hon nhieu*/ #include <iostream.h> #include <iomanip.h> void main(){ int t9,t10,s; float t;char ch[25]; cout<<"moi nhap ten";cin>>ch[25]; cout<<"nhap so dien t9";cin>>t9; cout<<"nhap so dien t10";cin>>t10; s=t10-t9; if (s>0){ if (s<50) t=s*500; else if(s<150) t=50*500+(s-50)*800; else if(s<250) t=50*500+100*800+(s-150)*1000; else if(s<250) t=50*500+100*800+(s-150)*1000; else t=50*500+100*800+100*1000*(s-250); cout<<"tien "<<t;} else cout <<"moi nhap lai"<<endl; }

Bi: Nhp vo mt dy s nguyn cho n khi nhp vo gi tr "Chia ht cho 5". Tnh tng cc phn t chn. Tng cc phn t l. Code:
#include<iostream.h> void main() { int n; //Gia tri nhap vao tam thoi int s_le=0;// Tong cac phan tu le int s_chan=0;//Tong cac phan tu chan do { cout<<"Nhap N="; cin>>n; if (n%2==0) s_chan+=n; //Neu n chan: tinh tong chan else s_le+=n; //Neu n le tinh tong le }while(n%5!=0); cout<<"\nTong le: "<<s_le; cout<<"\nTong chan: "<<s_chan; }

Bi 25. Cho cu trc: Code: struc dienthoai{ int sdt; //S in thoi char hoten[25]; //H v tn float sotien; //S tin phi np } thuebao[100]; Hy xy dng mt hm nhp s liu cho n thu bao. Sau vit mt chng trnh s dng hm ni trn nhp s liu v in bng s tin phi np ca cc thu bao theo dng ba ct: H tn, s in thoi, s tin phi np. Code:

#include<iostream.h> #include<iomanip.h> struct dienthoai{ int sdt; char hoten[25]; float sotien; } thuebao[100]; //Hm nhp danh sch n thu bao void nhap(int n,dienthoai *a) { for(int i=0;i<n;i++) { cout<<"\n Nguoi Thu "<<i; cout<<"\nSDT:"; cin>>a[i].sdt; cin.ignore(1); //Loai bo ky tu thua cout<<"\nHo ten"; cin.get(a[i].hoten,25); cin.ignore(1); cout<<"\nSo tien: "; cin>>a[i].sotien; } } //Hm in danh sch cc thu bao theo dng ba ct "S in thoi","H v tn","S tin" void inds(int n,dienthoai *a) { cout<<setw(20)<<"Dien thoai"; cout<<setw(20)<<"Ho ten"; cout<<setw(20)<<"So tien"<<endl; for(int i=0;i<n;i++) { cout<<setw(20)<<a[i].sdt; cout<<setw(20)<<a[i].hoten; cout<<setw(20)<<a[i].sotien<<endl; } } main() {

dienthoai a[100]; int n; cout<<"So thue bao: "; cin>>n; nhap(n,a); inds(n,a);

tuananhk43 Bi 25. Cho cu trc: Code: struc dienthoai{ int sdt; //S in thoi char hoten[25]; //H v tn float sotien; //S tin phi np } thuebao[100]; Hy xy dng mt hm nhp s liu cho n thu bao. Sau vit mt chng trnh s dng hm ni trn nhp s liu v in bng s tin phi np ca cc thu bao theo dng ba ct: H tn, s in thoi, s tin phi np. Code:
#include<iostream.h> #include<iomanip.h> struct dienthoai{ int sdt; char hoten[25]; float sotien; } thuebao[100]; //Hm nhp danh sch n thu bao void nhap(int n,dienthoai *a) { for(int i=0;i<n;i++) { cout<<"\n Nguoi Thu "<<i; cout<<"\nSDT:"; cin>>a[i].sdt; cin.ignore(1); //Loai bo ky tu thua cout<<"\nHo ten"; cin.get(a[i].hoten,25); cin.ignore(1); cout<<"\nSo tien: "; cin>>a[i].sotien; } } //Hm in danh sch cc thu bao theo dng ba ct "S in thoi","H v tn","S tin" void inds(int n,dienthoai *a) { cout<<setw(20)<<"Dien thoai"; cout<<setw(20)<<"Ho ten"; cout<<setw(20)<<"So tien"<<endl; for(int i=0;i<n;i++) { cout<<setw(20)<<a[i].sdt;

cout<<setw(20)<<a[i].hoten; cout<<setw(20)<<a[i].sotien<<endl; } main() { }

dienthoai a[100]; int n; cout<<"So thue bao: "; cin>>n; nhap(n,a); inds(n,a);

Sa li cht Code:
#include<iostream.h> #include<iomanip.h> struct dienthoai{ int sdt; char hoten[25]; float sotien; } thuebao[100]; //Hm nhp danh sch n thu bao void nhap(int n,dienthoai *a) { for(int i=0;i<n;i++) { cout<<"\n Nguoi Thu "<<i+1; cout<<"\nSDT:"; cin>>a[i].sdt; cin.ignore(1); //Loai bo ky tu thua cout<<"\nHo ten"; cin.get(a[i].hoten,25); cin.ignore(1); cout<<"\nSo tien: "; cin>>a[i].sotien; } } //Hm in danh sch cc thu bao theo dng ba ct "S in thoi","H v tn","S tin" void inds(int n,dienthoai *a) { cout<<setw(20)<<"Dien thoai"; cout<<setw(20)<<"Ho ten"; cout<<setw(20)<<"So tien"<<endl; for(int i=0;i<n;i++) { cout<<setw(20)<<a[i].sdt; cout<<setw(20)<<a[i].hoten; cout<<setw(20)<<a[i].sotien<<endl; } } main() {

int n;

cout<<"So thue bao: "; cin>>n; nhap(n,thuebao); inds(n,thuebao);

Bi 1. Vit hm chn phn t c gi tr X vo pha sau tt c cc phn t c gi tr chn trong mng. Vit hm tm phn t l s nguyn t trong tt c cc phn t ca mng. Bi 2. Nhp vo mt mng s nguyn n phn t t bn phm, in ra mn hnh phn t c s ln xut hin nhiu ln nht trong mn va nhp. Bi 1 Cu a

Code:
void // a // N // X insertX(int* a, int* N, int X) { l tn mng, n l con tr tr vo v tr u tin ca mng l con tr, gi tr ca n l s phn t ca mng, sau khi chn vo N s tng int i = 0, j; while (i < *N) { if (a[i] % 2 == 0) { // nu a[i] chn // dch mng sang phi for (j = ++(*N); j >= i + 2; j--) a[j] = a[j - 1]; // sau khi dch mng, ch h ra dnh cho X a[i + 1] = X; i += 2; // nhy qua X } else i++; }

Cu b Code:
void searchprimes(int* a, int N) { // hm ny s kim tra ln lt tng s ca mng xem c nguyn t hay khng

// nu c s in ra ch s cng vi gi tr ca n // nu khng mun in ra bn c th chnh sa theo mnh int i, x, y, t, ok; for (i = 0; i < N; i++) { if (a[i] < 2) continue; if (a[i] == 2 | a[i] == 3) printf("Phan tu thu %d bang %d la so nguyen to\n", i, a[i]); else if (a[i] % 2 > 0 & a[i] % 3 > 0) { x = 5; y = 2; t = (int)sqrt((double)a[i]); ok = 1; while (x <= t) { if (a[i] % x == 0) { ok = 0; break; } x += y; y = 6 - y; } if (ok) printf("Phan tu thu %d bang %d la so nguyen to\n", i, a[i]); } } }

Bi 2 Ch rng nu c nhiu phn t c cng s ln xut hin nhiu nht th ta in ra phn t ng trc. Code:
#include <stdio.h> #include <conio.h> int a[100], mark[100], N, max, val; void readinput() { printf("Nhap N = "); scanf("%d", &N); for (int i = 0; i < N; i++) { printf("Nhap a[%d] = ", i); scanf("%d", &a[i]); } } void solve() { max = 0; int i, j, count; for (i = 0; i < N; i++) mark[i] = 1; for (i = 0; i < N - 1; i++) if (mark[i]) { count = 1; mark[i] = 0; for (j = i + 1; j < N; j++) if (a[j] == a[i]) {

count++; mark[j] = 0; } if (count > max) { max = count; val = a[i]; }

} }

void writeoutput() { printf("Phan tu xuat hien nhieu nhat la %d", val); printf("\nSo lan xuat hien la %d", max); getch(); } void main() { clrscr(); readinput(); solve(); writeoutput(); }

Bi ton: lit k cc s nguyn t khng b hn n theo thut ton SNG S NGUYN T Phn tch: theo ng tinh thn ca thut ton, ta s dng 1 mng n phn t, u tin in vo phn t th i gi tr 1 (tng ng gi tr NG) phn t u tin cha xo s l snt, sau ok' xo bi ca n Code:
#include <iostream.h> void main(){ int i, n, s[100]; cout<<"nhap n = "; cin>>n; for(i=2; i<=n; i++)s[i]=i; //in li ban u for(i=2; i<=n; i++){ if(s[i])cout<<s[i]<<' '; //ly phn t u tin cha b loi for(int k=i; k<=n; k+=i) s[k]=0; //sau khi ly c 1 phn t i th loi b mi bi ca i } }

Vit chng trnh nhp vo mt xu t bn phm: 1. Vit hm loi b cc khong trng bn tri 2. Vit hm loi b cc khong trng bn phi 3. Vit hm loi b khong trng bn tri v bn phi Code:
#include<iostream.h> #include<stdio.h> #include<string.h> //Xoa khoang trang hai ben char *trim(const char *ss) { char *s=new char[strlen(ss)]; strcpy(s,ss); int i=0; //Left Trim while(s[i]==' ') i++; for(int k=0;k<=strlen(s);k++) { s[k]=s[k+i]; } //Right Trim i=strlen(s)-1; while(s[i]==' '&&i>0) i--; s[i+1]=0; return s; } //Xoa khoang trang ben phai char *rtrim(const char *ss) { char *s=new char[strlen(ss)]; strcpy(s,ss); int i=strlen(s)-1; while(s[i]==' '&&i>0) i--; s[i+1]=0; return s;

} //Xoa khoang trang ben trai char *ltrim(const char *ss) { char *s=new char[strlen(ss)]; strcpy(s,ss); int i=0; while(s[i]==' ') i++; int length=strlen(s); for(int k=0;k<=length;k++) s[k]=s[k+i];

return s; } //Xoa cac khoang trang thua trong xau char *ctrim(const char *ss) { char *s=new char[strlen(ss)]; strcpy(s,ss); int i=0; while(i<strlen(s)-1) { if(s[i]==' ' && s[i+1]==' '){ int k=i; do s[k]=s[k+1]; while(s[++k]!=0); }else i++; } return s; } void main() { char s[100]; cout<<"Nhap xau"; gets(s); cout<<"ALL_TRIM !"<<trim(s)<<"!"<<endl; cout<<"R_TRIM !"<<rtrim(s)<<"!"<<endl; cout<<"L_TRIM !"<<ltrim(s)<<"!"<<endl; cout<<"C_TRIM !"<<trim(ctrim(s))<<"!"<<endl; }

Mt s bi tp v x l xu k t

Ng qua l thuyt v xu 1 t nha: 1.Trong C++ khng c kiu d liu c bn lu cc xu k t 2.Xu l mt mng k t (mng c kiu char) V d: char str[20]; Bin str c th lu mt xu k t vi di cc i l 20 k t Ch : kiu char ch lu 1 k t n 3.Mng k t c th lu cc xu k t di khng qu di khai bo ca n v d: Str c th lu "Hello" hay Thai Nguyen" 4.Cc k t trong xu c a ch lin k nhau trong b nh (tnh cht ca mng)

5.C++ quy c kt thc mt ni dung ca mt xu k t bng mt k t null(null l k t c m 0 trong bng m ASCII) Khai bo bin xu k t (ging nh khai bo cho mng) 1. Code:
char s[100]; //khai bo s khng c khi to

2. Code:
char str[20]={'h','a','n','o','i','\0'};

Xu str c 20 phn t, c 6 phn t u c khi to '\0' l k t null, dng k t c bit \ kt hp vi 0 biu din 3. char st[]={S',V','\0'}; Xu st c ng 3 phn t, v khi to 4.Khai bo hp l: Code:
char mystring [] = { 'H', 'e', 'l', 'l', 'o', '\0' }; char mystring [] = "Hello";

Hai cch khai bo trn l tng ng 5. Cc lnh sau l khng hp l cho bin mng mystring Code:
mystring = "Hello"; mystring[] = "Hello"; mystring = { 'H', 'e', 'l', 'l', 'o', '\0' };

6.Bin con tr kiu char c hiu nh l bin xu k t 6.1. Khai bo hp l: Code:


char* mystring = { 'H', 'e', 'l', 'l', 'o', '\0' }; char* mystring = "Hello";

Hai cch khai bo trn l tng ng 6.2. Con tr kiu xu c php: char *p; p = "Hello Hanoi"; Thao tc vi xu k t

1.Gn gi tr cho xu v d: Code:


mystring[0] mystring[1] mystring[2] mystring[3] mystring[4] mystring[5] = = = = = = 'H'; 'e'; 'l'; 'l'; 'o'; '\0';

r rng cch ny hp l nhng khng kh thi 2.Gn gi tr cho xu s dng hm strcpy ca th vin string.h C php: nguyn mu ca hm: char *strcpy(char *dest, const char *src); Tc dng: Copy xu src (ngun) sang dest (xu ch) Xu src (ngun) khng b bin i (const char *src) Hm ny cng tr v a ch ca u ca dest v d: Code:
#include <iostream.h> #include <string.h> void main(){ char myName [20]; strcpy (myName, "Nguyen Van A"); cout<<myName; //s in ra: Nguyen Van A }

3. Nhp xu k t t bn phm dng lnh cin.getline ca th vin iostream.h C php: Khai bo th vin iostream.h nguyn mu ca hm: istream& getline(char*str , int len, char d= '\n'); Tc dng: Gn chui k t nhp t bn phm (vi di ti a l len) vo bin xu str Ch : Khng nn dng cin>>str nhp xu V d: Code:
#include <iostream.h> void main(){ char s [100]; cin.getline(s,100); cout<<s; }

4. Nhp xu t bn phm dng lnh gets ca th vin stdio.h C php: Khai bo th vin stdio.h nguyn mu ca hm: char *gets(char *str); Tc dng:

Gn chui k t nhp t bn phm vo bin xu str, v tr v a ch u ca str V d Code:


#include <iostream.h> #include <stdio.h> void main(){ char str[100]; gets(str); cout<<str; }

In xu k t ra mn hnh Khi in bin xu k t ra mn hnh, ta phi truyn vo mng kiu char, hoc con tr kiu char, C++ s in lin tip cc k t ca xu(t a ch nhn c) cho n khi gp k t null V d: char s[100]="Nguyen Van A"; cout<<s; //lnh ny s in ra Nguyen Van A ch khng in ra 100 k t Ch : khi khi to, thao tc v xu phi c k t null nh du kt thc xu

Bi tp u tin: vit hm tr v di xu - Tn hm l : ? l g m ch c, min l theo quy tc t tn, vy ta t l length - tr v di ->Kiu tr v l? l kiu s nguyn, ta chn kiu int - i s (u vo ca hm) l? tt nhin l kiu mng ca k t hoc l con tr k t Phn tch: D thy ch s ca v tr kt thc chnh l di ca xu vy ta cho bin ch s ban u nhn gi tr 0, trong khi m ch s cha phi l v tr cui xu th ta tng ch s v kim tra li, c lp nh vy bin ch s s tin n v tr cui xu, khi dng li, v tr v cho hm gi tr ca bin ch s , gi tr cng chnh l di xu Ta c code bng C++ nh sau: Code:
int length(char s[]){ int d=0; while(s[d]!='\0')d++; return d; }

Hoc Code:

int length(char *s){ int d=0; while(s[d]!='\0')d++; return d; }

ng dng hm tnh di trn gii bi ton: Nhp vo xu k t t bn phm, in ra mn hnh di ca xu ? code bng C++ s nh sau Code:
#include <iostream.h> int length(char s[]){ int d=0; while(s[d]!='\0')d++; return d; } void main(){ char st[100]; cout<<"Nhap xau: "; cin.getline(st,100); cout<<"Do dai xau: "<< length(st); }

Bi s 2: Vit chng trnh m xem trong xu c bao nhiu k t 'a' Phn tch: Bi ny gii nh bi v mng, chng ta coi nh xu l 1 mng, ch gi tr null cui xu. Ta duyt mi ch s t u n ht xu, ti v tr ang xt nu k t ti v tr c gi tr bng k t 'a' th ta tng bin m. Vy hm m s nh sau: Code:
int dem_ki_tu(char *s){ int dem=0; int do_dai=lenth(s); //s dng hm length bi post trc, hoc dng hm strlen ca th vin string.h for(int i=0; i < do_dai; i++) if(s[i]=='a')dem++; return dem; }

Hoc khng cn s dng hm tnh di xu: Code:

int dem_ki_tu(char *s){ int i=0, dem=0; while(s[i]!='\0'){ if(s[i]=='a')dem++; i++; } return dem; }

Da vo hm trn ta c th lm 1 hm tng qut m k t bt k nh sau: Code:


int dem_ki_tu(char *s, char ki_tu_can_dem){ int i=0, dem=0; while(s[i]!='\0'){ if(s[i]== ki_tu_can_dem)dem++; i++; } return dem; }

Vi hm ny khi cn m k t 'a' th s gi hm dem_ki_tu(s, 'a') S dng hm ny ta vit chng trnh hon chnh nh sau: Code:
#include <iostream.h> int dem_ki_tu(char *s, char ki_tu_can_dem){ int i=0, dem=0; while(s[i]!='\0'){ if(s[i]== ki_tu_can_dem)dem++; i++; } return dem; } void main(){ char st[100]; cout<<"Nhap xau: "; cin.getline(st, 100); cout<<"So luong ki tu 'a' trong xau = "<< dem_ki_tu(st, 'a'); }

Bi s 3: Ct cc du cch tha bn phi xu v d xu l " tra thai " sau khi ct cc du cch tha bn phi s l " tra thai"

Phn tch: Ta bit cui mi xu l k t null (k t c m 0). nn nu xu c cc du cch tha bn phi, ta lm sao t k t null vo ng ch l xong. Vy cn tm v tr ngoi cng khng phi l du cch, khi gn cho gi tr null cho phn t tip theo l xong. Ta vit hm rtrim, s thay i tham s truyn vo, lm cho n mt i cc du cch tha nh sau: Code:
int length(const char *s){ int dem=0; while(s[dem]!='\0')dem++; return dem; } void rtrim(char *s){ int i=length(s)-1; while(s[i]==' ') {i--;} s[i+1]=0; }

Hoc tng ng (nhng hm rtrim gn hn 1 t): Code:


int length(const char *s){ int dem=0; while(s[dem]!='\0')dem++; return dem; } void rtrim(char *s){ int i=length(s); while(s[--i]==' '); s[i+1]=0; }

ng dng hm trn ta vit chng trnh hon chnh nh sau: Code:


#include <iostream.h> int length(const char *s){ int dem=0; while(s[d]!='\0')dem++; return dem; } void rtrim(char *s){ int i=length(s); while(s[--i]==' '); s[i+1]=0; } void main(){ char st[100]; cout<<"Nhap xau: "; cin.getline(st, 100);

cout<<"Ban u l:"<<st<<'!'<<endl; //in du ! vo cui xu nhn thy cc du cch tha bn phi rtrim(st); cout<<"Sau RTRIM :"<<st<<'!'<<endl; }

Bi s 4: Vit hm ct cc du cch tha bn tri Phn tch: B qua nhng du cch tha bn tri, y cc phn t pha sau ln u Code:
void ltrim(char *s){ int i=0; while(s[i]==' ')i++; if(i>0) for(int k=0; t[i];)s[k++]=s[i++]; }

Bi 5: Vit hm loi b nhng du cch tha gia xu, lm cho cc t cch nhau ng 1 k t Phn tch: Ta duyt t u n cui xu, nu c 2 du cch ng cnh nhau th ta dn pha sau ln 1 k t code nh sau, code ny cn ct c du cch tha bn tri v bn phi (nu cn th ch cn 1) Code:
void trim(char *s){ for(int i=0; s[i]!='\0'; ) if(s[i]==' ' && s[i+1]==' ') for(int k=i; s[k]!='\0'; k++) s[k] = s[k+1]; else i++; if(s[i-1]==' ') //ct i k t trng bn phi (nu cn) s[i-1] = 0; if(s[0]==' ') //ct i k t trng bn tri (nu cn) for(i=0; s[i]!='\0'; i++) s[i] = s[i+1]; }

ng dng hm trn vit chng trnh hon chnh nh sau: Code:

#include <iostream.h> void trim(char *s){ for(int i=0; s[i]!='\0'; ) if(s[i]==' ' && s[i+1]==' ') for(int k=i; s[k]!='\0'; k++) s[k] = s[k+1]; else i++; if(s[i-1]==' ') //ct i k t trng bn phi (nu cn) s[i-1] = 0; if(s[0]==' ') //ct i k t trng bn tri (nu cn) for(i=0; s[i]!='\0'; i++) s[i] = s[i+1]; } void main(){ char s[80]; cout<<"Moi ngai nhap xau ky tu: "; cin.getline(s,80); trim(s); cout<<s<<'!'; //in du chm than ! ngay sau xu s nhn thy hm ct c c du cch tha bn phi }

Mai i cng tc play roi, hok cn thi gian post bi, nn a ra vi u bi, cc bn phn tch v cng tho lun cch gii nh, ai gii ng khi v malyfo s tuyn dng (v cho ko na, hehe) Bi 6: Vit hm m s t xut hin trong xu. ng dng hm vit chng trnh hon chnh nhp xu k t t bn phm, in ra mn hnh s t c trong xu Bi 7: Vit hm m s t bt u bng 'tr' c trong xu. ng dng hm vit chng trnh hon chnh nhp xu k t t bn phm, in ra mn hnh s t bt u bng 'tr' c trong xu. Bi 8: Vit hm m s kt thc bng 'ng' c trong xu. ng dng hm vit chng trnh hon chnh nhp xu k t t bn phm, in ra mn hnh s t kt thc bng 'ng' c trong xu. Bi 9: Vit hm in cc t trong xu, mi t trn 1 dng. ng dng hm vit chng trnh hon chnh nhp xu k t t bn phm, in ra mn hnh cc t trong xu, mi t trn 1 dng Bi 10: Vit hm kim tra xem 1 chui c phi cha ton k t s hay khng? ng dng hm trn v hm trong bi 9 vit chng trnh hon chnh nhp xu k t t bn phm m xem trong xu c bao nhiu t ton l s? Bi 11: Vit hm kim tra xem 1 chui c phi cha ton k t s hay khng? Nu ton l s th tnh gi tr ca s tng ng vi chui ? ng dng hm trn v hm trong bi 9 vit chng trnh hon chnh nhp xu k t t bn phm tnh tng cc t l s trong xu? Bi 12: cha ngh ra, hehe, th ci , cc bn th sc nh, quan trng l ch phn tch ngi khc hiu. h, nu cc bi trn c ai khng hiu th cho kin nh

You might also like