You are on page 1of 18

Bi tp C++

Lu hnh ni b

MC LC
CHNG 1.
Bi tp m u ............................................................................................................. 3
Bi tp 1: .......................................................................................................................................... 3
Bi tp 2: .......................................................................................................................................... 3
Bi tp 3: .......................................................................................................................................... 3
Bi tp 4: .......................................................................................................................................... 3
Bi tp 5: .......................................................................................................................................... 4
Bi tp 6: .......................................................................................................................................... 4
Bi tp 7: .......................................................................................................................................... 4
Bi tp 8: .......................................................................................................................................... 4
Bi tp 9: .......................................................................................................................................... 4
Bi tp 10: ........................................................................................................................................ 5
Bi tp 11: ........................................................................................................................................ 5
Bi tp 12: ........................................................................................................................................ 5
CHNG 2.
Cu trc iu khin Cu trc lp .............................................................................. 5
2.1.
Bi tp lin quan n cu trc iu khin: ............................................................................... 5
Bi tp 13: ........................................................................................................................................ 5
Bi tp 14: ........................................................................................................................................ 5
(*):............................................................................................................................ 5
Bi tp 15:
Bi tp 16: ........................................................................................................................................ 6
(*)
Bi tp 17:
: ............................................................................................................................. 6
Bi tp 18:
(*):............................................................................................................................ 6
Bi tp 19: ........................................................................................................................................ 6
Bi tp 20: ........................................................................................................................................ 6
Bi tp 21: ........................................................................................................................................ 7
Bi tp 22: ........................................................................................................................................ 7
Bi tp 23: ........................................................................................................................................ 7
Bi tp 24: ........................................................................................................................................ 7
Bi tp 25: ........................................................................................................................................ 7
Bi tp 26: ........................................................................................................................................ 7
Bi tp 27: ........................................................................................................................................ 7
Bi tp 28: ........................................................................................................................................ 7
2.2.
Bi tp lin quan n cu trc lp:........................................................................................... 8
Bi tp 29: ........................................................................................................................................ 8
Bi tp 30: ........................................................................................................................................ 8
Bi tp 31: ........................................................................................................................................ 8
Bi tp 32: ........................................................................................................................................ 8
Bi tp 33: ........................................................................................................................................ 9
Bi tp 34: ........................................................................................................................................ 9
Bi tp 35: ........................................................................................................................................ 9
Bi tp 36: ........................................................................................................................................ 9
Bi tp 37: ........................................................................................................................................ 9
Bi tp 38: ........................................................................................................................................ 9
Bi tp 39: ........................................................................................................................................ 9
Bi tp 40: ...................................................................................................................................... 10
(*) ........................................................................................................................... 10
Bi tp 41:
Bi tp 42:
** ............................................................................ Error! Bookmark not defined.
Bi tp 43:
*** .......................................................................... Error! Bookmark not defined.
Bi tp 44:
**** ........................................................................ Error! Bookmark not defined.

CHNG 3.
Hm............................................................................................................................ 10
Bi tp 45: ...................................................................................................................................... 10
Bi tp 46: ...................................................................................................................................... 11
Bi tp 47: ...................................................................................................................................... 11
Bi tp 48: ...................................................................................................................................... 11
Bi tp 49: ...................................................................................................................................... 11
Bi tp 50: ...................................................................................................................................... 12
Bi tp 51: ...................................................................................................................................... 12
Bi tp 52: ...................................................................................................................................... 12
CHNG 4.
Mng .......................................................................................................................... 12
4.1.
Mng 1 chiu ......................................................................................................................... 12
Bi tp 53: ...................................................................................................................................... 12
Bi tp 54: ...................................................................................................................................... 13
4.2.
Mng 2 chiu ......................................................................................................................... 13
Bi tp 55: ...................................................................................................................................... 13
CHNG 5.
Kiu d liu c cu trc ............................................................................................. 14
Bi tp 56: ...................................................................................................................................... 14
Bi tp 57: ...................................................................................................................................... 14
Bi tp 58: ...................................................................................................................................... 14
Bi tp 59: ...................................................................................................................................... 14
Bi tp 60: ...................................................................................................................................... 14
Bi tp 61: ...................................................................................................................................... 14
Bi tp 62:
(*) ............................................................................ Error! Bookmark not defined.
CHNG 6.
Cc k thut nng cao ................................................................................................ 15
6.1.
Con tr ................................................................................................................................... 15
Bi tp 63: ...................................................................................................................................... 15
Bi tp 64: ...................................................................................................................................... 15
6.2.
K thut quy...................................................................................................................... 15
Bi tp 65: ...................................................................................................................................... 15
Bi tp 66: ...................................................................................................................................... 15
Bi tp 67: ...................................................................................................................................... 15
Bi tp 68: ...................................................................................................................................... 15
Bi tp 69: ...................................................................................................................................... 15
6.3.
Lm vic vi tp tin ............................................................................................................... 16
Bi tp 70: ...................................................................................................................................... 16
Bi tp 71: ...................................................................................................................................... 16
Bi tp 72: ...................................................................................................................................... 16
Bi tp 73: ...................................................................................................................................... 16
CHNG 7.
Bi tp Project............................................................................................................ 16
7.1.
Chng trnh d t in ......................................................................................................... 16
M t: ............................................................................................................................................. 16
Hng dn: .................................................................................................................................... 17
GI T IN ........................................................................................................................... 17
7.2.
Chng trnh sp xp dng .................................................................................................... 18
M t: ............................................................................................................................................. 18

Bi tp lp trnh C++

2/18

GV: Lng Trn Hy Hin

CHNG 1. Bi tp m u
Bi tp 1:
Vit chng trnh hin ra mn hnh dng ch: CHAO MUNG CAC BAN DEN VOI
MON HOC C++.
HD:
#include <iostream>
using namespace std;
int main()
{
cout<< CHAO MUNG CAC BAN DEN VOI MON HOC C++;
return 0 ;
}

Bi tp 2:
Vit chng trnh xut ra mn hnh hnh vung c k t * c cnh bng a (vi a nhp t
bn phm).
HD:
// chuong trinh ve chu nhat dac
#include<iostream>
using namespace std;
int main()
{
int a, i, j;
cout<<Ban hay nhap do dai canh: ;
cin>>a;
for (i = 1; i<= a; i++)
{
for (j =1; j<= a; j++)
cout<<* ; //luu y,co mot khoang trong o day
cout<<\n;
}
return 0 ;
}

Bi tp 3:
Vit chng trnh nhp vo bn knh ca hnh trn; xut ra din tch v chu vi ca
hnh trn .
Din tch ca hnh trn bit trc bng cch nhp vo t bn phm, tnh v in ra bn
knh ca hnh trn .

Bi tp 4:
Vit chng trnh nhp vo y ln, y nh, chiu cao ca hnh thang; xut ra din tch
ca hnh thang .

Bi tp lp trnh C++

3/18

GV: Lng Trn Hy Hin

Bi tp 5:
Chng trnh tnh gi tr biu thc y = 3e cos(t +1) .
HD: Hm tnh l exp(x), hm tnh cos(x) trong tp tin th vin <cmath>
// Chuong trinh tinh bieu thuc y= 3e^cos(t+1)
#include<iostream>
using namespace std;
#include<cmath>
int main()
{
double t, y;
cout<<Moi ban nhap 1 so thuc t: ;
cin>>t;
y= 3*exp(cos(t+1));
cout<<Gia tri cua bieu thuc can tinh la: << y;
return 0;
}

Bi tp 6:
Vit chng trnh nhp vo 2 s nguyn v cc php ton +, -, *, /, %, >,<. In ra kt qu
php ton .
// Chuong trinh tinh + - * /
#include<iostream>
using namespace std;
int main()
{
int a, b;
cout<<"Ban hay nhap 2 so nguyen: ;
cin>>a>>b;
cout<<Tong cua 2 so vua nhap la: <<a+b<<\n;
cout<<Hieu cua 2 so vua nhap la: <<a-b<<\n;
cout<<Tich cua 2 so vua nhap la: <<a*b<<\n;
if (b!=0)
cout<<Thuong cua 2 so vua nhap la: <<a/b;
return 0;
}

Bi tp 7:
Vit chng trnh nhp vo thng tin ca mt sinh vin bao gm: m s sinh vin, h tn,
qu qun, nm sinh, im trung bnh cc nm hc; xut ra thng tin ca sinh vin va
nhp.

Bi tp 8:
Vit chng trnh nhp vo ba cnh ca mt tam gic, tnh v xut ra din tch ca tam
gic .
HD: di 3 cnh a, b, c kiu s thc. Din tch S = p( p a)( p b)( p c) vi p l na
chu vi.

Bi tp 9:
Mt on thng c biu din bi hai im trong mt phng. Vit chng trnh nhp vo
hai im ca mt on thng v xut ra trung im ca on thng .
Bi tp lp trnh C++

4/18

GV: Lng Trn Hy Hin

HD:
Ta cn 4 bin xA, yA, xB, yB lu ta 2 im A, B trong mt phng.
Trung im I ca on AB l: x I =

x A + xB
y + yB
, yI = A
2
2

Bi tp 10:
Vit chng trnh nhp vo ba nh ca mt tam gic. Xut ra trng tm ca tam gic .
HD:
Ta cn 6 bin xA, yA, xB, yB, xC, yC lu ta 3 nh A, B, C ca tam gic.
Trng tm I l: x I =

x A + x B + xC
y + y B + yC
, yI = A
3
3

Bi tp 11:
Xt tam thc bc 2 c dng ax2 + bx + c. Vit chng trnh nhp vo cc h s ca mt
tam thc bc 2 v gi tr ca bin s x; xut ra gi tr ca tam thc bc 2 .
HD:
f= a*x*x+b*x+c

Bi tp 12:
Hy tm cc biu thc ng trong cc biu thc di y:
(i=j)++
i+j++
++(i+j)
++i+++j
Vo my kim tra cc d on ca bn.

CHNG 2. Cu trc iu khin Cu trc lp


2.1.

Bi tp lin quan n cu trc iu khin:

Bi tp 13:
Vit chng trnh nhp vo mt s. Xut ra mn hnh chui s chn nu s l s chn.
Xut ra mn hnh chui s l nu s l s l.
HD:
if ( N % 2 == 0) cout<<So chan;
else cout<<So le;

Bi tp 14:
Vit chng trnh nhp vo 2 s nguyn, tm s ln nht ca 2 s.

Bi tp 15: (*):
Vit chng trnh th hin tr chi on t t vi qui c: Ba = B; Bao = O; Ko =K.
Nhp vo hai k t i din cho hai ngi chi. Xut ra mn hnh cu thng bo ngi chi
no thng hoc ha.

Bi tp lp trnh C++

5/18

GV: Lng Trn Hy Hin

Bi tp 16:
Vit chng trnh tnh lng ca nhn vin da theo thm nin cng tc (TNCT) nh sau:
Lng = h s * lng cn bn, trong lng cn bn l 650000 ng.
Nu TNCT < 12 thng: h s = 1.92
Nu 12 <= TNCT < 36 thng: h s = 2.34
Nu 36 <= TNCT < 60 thng: h s = 3
Nu TNCT >= 60 thng: h s = 4.5
HD:
const int luongcb = 650;
int tnct;
double heso, luong;
if (tnct < 12) heso = 1.92;
else if (tnct < 36) heso = 2.34;
else if (tnct < 60) heso = 3;
else heso = 4.5;
luong = luongcb * heso;

Bi tp 17:

(*)

Mt im KARAOKE tnh tin khch hng theo cng thc sau:


Mi gi trong 3 gi u tin tnh 30 000 ng/gi,
Mi gi tip theo c n gi gim 30% so vi n gi trong 3 gi u tin.
Ngoi ra nu thi gian thu phng t 8 17 gi th c gim gi 10%. Vit chng trnh
nhp vo gi bt u, gi kt thc v in ra s tin khch hng phi tr bit rng 8 gi bt
u < gi kt thc 24.
HD:
int giobd, giokt, thoigian, tien;
//Nhp giobd, giokt v kim tra iu kin giobd >= 8 v giokt <= 24 s dng do...while
thoigian = giokt giobd;
if (thoigian > 3)
tien = 3 * 30000 + (thoigian 3) * 30000 * 0.7;
else tien = thoigian * 30000;
if (giokt <= 17) //tm cch tnh tng qut hn
tien *= 0.9; //Gim 10%

Bi tp 18: (*):
Nhp vo ngy, thng ca mt nm hin ti. Bn hy vit chng trnh:
Kim tra tnh hp l ca ngy, thng nhp;
Cho bit thng ny thuc qu my trong nm;
Cho bit thng nhp c bao nhiu ngy;
Cho bit ngy hm sau ca ngy nhp l ngy no;
Cho bit ngy hm trc ca ngy nhp l ngy no.

Bi tp 19:
Vit chng trnh nhp vo 3 s, tm s ln nht, nh nht ca 3 s .

Bi tp 20:
Vit chng trnh nhp vo 4 s, tm s ln nht, nh nht ca 4 s .
Bi tp lp trnh C++

6/18

GV: Lng Trn Hy Hin

Bi tp 21:
Vit chng trnh xp loi thi ua cho hc sinh. (T phn tch ng cnh v lp trnh)

Bi tp 22:
Vit chng trnh gii bt phng trnh:
HD:

ax + b > 0

double a, b;
cin>>a>>b;//Kim tra a <> 0
if(a > 0)
cout<<Nghiem : x > <<-b/a;
else
cout<< Nghiem : x < <<-b/a;

Bi tp 23:
Vit chng trnh nhp vo 2 phn s, xut ra tng hiu tch thng ca hai phn s .
Lu kim tra iu kin nhp mu khc 0 (dng do while).

Bi tp 24:
Vit chng trnh nhp vo mt k t. Hy xt xem y l c phi l k t ch in? l k t
ch thng? l k t s? hay l k t khc nhng loi k t trn?

Bi tp 25:
Chng trnh cho php nhp vo mt s nguyn dng, l lng in tiu th (kWh) trong
thng ca nh bn. Chng trnh tnh v in s tin nh bn phi tr cho thng c tnh
theo gi nh mc nh bng sau:
100 kwh u tin 50 kwh tip 50 kwh tip 100 kwh tip T 300 kwh tr ln
550 VND
900 VND
1250 VND
1450 VND
1700 VND
v phi ng thu gi tr gia tng 10%.

Bi tp 26:
Mt cng ty tr lng cho nhn vin (theo tun) nh sau:
o Nh qun l (m s 1) nhn mt khon lng c nh X (theo tun).
o Cng nhn lm theo gi (m s 2) nhn mt khon lng c bn Y ng trong 40
gi u trong tun v 1.5 ln lng c bn cho mi gi vt mc qui nh .
o Lng cng nhn theo li nhun (m s 3) c nhn 500,000 cng thm 7% tr
gi doanh s Z m cng nhn y bn hng ra trong tun.
o Lng cng nhn theo sn phm (m s 4) nhn tin da vo s N sn phm m
ngi lm ra trong tun, vi mi sn phm th ngi ny nhn c S ng
(mi ngi ch lm ra mt loi sn phm nht nh).
Vit chng trnh cho nhp vo m s, ty theo loi cng nhn m cho php nhp vo
nhng thng tin cn thit cho cng nhn tnh lng. Sau tnh lng m cng ty phi
tr cho nhn vin y trong tun.

Bi tp 27:
Nhp vo mt s nguyn c 2 ch s, hy in ra cch c ca n.

Bi tp 28:
Nhp vo mt s nguyn c 3 ch s, hy in ra cch c ca n.
HD:
Bi tp lp trnh C++

7/18

GV: Lng Trn Hy Hin

int N; //S c 3 ch s cn c
int tram, chuc, donvi;
tram = N / 100;
donvi = N % 10;
chuc = (N tram * 100) / 10;
string chuoi = ; //Khai bo lp string trong th vin STL
switch(tram){
case 1: chuoi += Mt trm; break;
case 2: chuoi += Hai trm; break;
.
}
//Tng t cho chuc, donvi

2.2.

Bi tp lin quan n cu trc lp:

Bi tp 29:
Vit chng trnh tnh n!! vi n!! = 1.3.5n nu n l, n!! = 2.4.6n nu n chn.
HD:
Ta cn xc nh i chy t 1 hay 2 ph thuc vo n chn hay l?
for(int i = (n % 2)? 1 : 2; i <= n; i += 2) gt *= i;

Bi tp 30:
Vit chng trnh nhp vo s nguyn n. Tnh v in ra cc tng sau:
S = 1 + 2 + 3 + ... + n
S = 1 + 3 + 5 + 7 + ... + (2n + 1)
S = n!

S=

1
1
1
1
+
+
+ ....... +
2 .3 3 .4 4 .5
n.(n + 1)

Bi tp 31:
Vit chng trnh m v in ra s lng cc s nguyn chia ht cho 3 hoc 7 nm trong
on 1 n 100.
HD:
int Dem = 0;
for (int i = 1; i <= 100; i++)
if( (i % 3 ==0) || (i % 7 == 0))
{
Dem++;
}

Bi tp 32:
Vit chng trnh nhp vo mt s nguyn dng, kim tra c phi l s nguyn t hay
khng?

Bi tp lp trnh C++

8/18

GV: Lng Trn Hy Hin

Bi tp 33:
Vit chng trnh nhp vo mt s nguyn dng, xut ra dng phn tch tha s nguyn
t ca s .
HD:
int n;
cout<<Nhap n: ;
cin>>n;
cout<<n<<" = ";
int i= 2;
while(i <= n)
{
if(n % i == 0){
cout<<i;
n /= i;
if(n != 1) cout<<"*";
}
else i++;
}

Bi tp 34:
Vit chng trnh nhp vo im trung bnh ca mt s sinh vin cho trc. In ra im
trung bnh ca tt c cc sinh vin.

Bi tp 35:
Vit chng trnh tnh v in ra trung bnh cng ca mt dy s c nhp vo t bn phm
(khng hn ch s lng s nhp vo). Qui c s nhp c gi tr l 9999 l s cm canh
(ngha l nhp n khi nhp s 9999 th dng vic nhp).
V d: nhp 10 8 11 10 7 9999 gttb =

10 + 8 + 11 + 10 + 7
= 9 .2
5

Bi tp 36:
Vit chng trnh in ra bng cu chng.
HD:
for(int i = 1; i < 10; i++)
{
for(int j = 2; j < 6; j++)
cout<<j<<" x "<<i<<" = "<<setw(2)<<j*i<<" ";
cout<<endl;
}

Bi tp 37:
Vit chng trnh in ra bng lng gic sin, cos, tan ca cc gc t 0..180 dn cch 5 .
S dng hm sin, cos, tan trong cmath.

Bi tp 38:
Vit chng trnh tm c chung ln nht, bi chung nh nht ca 2 s nguyn M, N nhp
t bn phm.

Bi tp 39:
Vit chng trnh hin ln mn hnh cc k t c m ASCII t 33 n 255.
Bi tp lp trnh C++

9/18

GV: Lng Trn Hy Hin

Bi tp 40:
Vit chng trnh i tin vi cc yu cu sau:
Nhp vo s N l gi tr tin cn i, in ra chi tit s t tin i cho khch hng.
Cc loi tin i l (n v ngn ng): 500, 200, 100, 50, 20, 10, 5, 2, 1.
u tin i t t c gi tr cao nht n t c gi tr thp nht.

Bi tp 41: (*)
Tr chi on s c m t nh sau:
C hai ngi chi.
Ngi chi th nht ngh ra mt s x ngu nhin t 1..100 v yu cu ngi th
hai on trng s mnh ngh. Ngi th hai c quyn on nhiu ln nhng
khng vt qu n ln (n xc nh trc).
Mi ln ngi th hai on sai, ngi th nht s thng bo cho ngi th hai
bit l s x ln hn hay nh hn s ngi th hai on.
Tr chi kt thc khi ngi th hai on trng s x hoc ngi th hai khng
on trng s x sau n ln on.
a) Vit chng trnh th hin tr chi on s gia ngi v my. Vi my ng
vai tr l ngi th hai (ngi on).
b) Vit chng trnh th hin tr chi on s gia ngi v my. Vi my ng
vai tr l ngi th nht (ngi ngh ra s).

Bi tp 42: (*)
Vit chng trnh nhn 1 gi tr nguyn di v cho hin th ra mn hnh s dng: h 10,
h 16, h 8, h 2.

Bi tp 43: (*)
Vit chng trnh gii phng trnh bc 2 vi cc h s nhp t bn phm (xt y cc
trng hp).

Bi tp 44: (*)
Vit chng trnh tnh sin(x) theo cng thc xp x:
x3 x5
x 2 n+1
n
sin ( x ) = x + + ..... + ( 1)
vi chnh xc 0.00001. Tc l tnh cho ti n
(2n + 1)!
3! 5!

xn
sao cho:
< 0.00001 .
n!

CHNG 3. Hm
Bi tp 45:
Vit chng trnh nhp h tn, im Ton, im Vn ca mt hc sinh. Tnh im trung
bnh v xut ra kt qu. (Yu cu: Vit hm nhp, xut, tnh trung bnh).
HD:
void Nhap(char HT[50], double &T, double &V)
{
cout<<Ho ten: ; cin>>HT;

Bi tp kh

Bi tp lp trnh C++

10/18

GV: Lng Trn Hy Hin

cout<<Toan: ; cin>>T;
cout<<Van: ; cin>>V;
}
void Xuat(char HT[50], double T, double V, double DTB)
{
cout<<Sinh vien: <<HT<<endl;
cout<<Toan: <<T<<, Van: <<V<< ==> DTB : <<DTB<<endl;
}
void TinhTB(T, double V, double &DTB)
{
DTB = (T + V) / 2;
}

Bi tp 46:
Vit nh ngha cho hm tongLe trong C++ vi mu khai bo:
long tongLe(int N);
Hm ny tr v tng ca tt c s l t 1 n N (gm c s 1 v s N nu N l, v ta phi gi s N
1). V d khi gi tongLe(7), kt qu tr v s l 16; hoc khi gi tongLe(12) th kt qu l 36.
Vit chng trnh cho php c gi tr s nguyn N t bn phm, gi hm tnh tng cc s l
trong khong t 1 n N, hy in ra gi tr tng .

Bi tp 47:
Vit cc nh ngha cho hm:
(a) ktNgTo, vi mu khai bo: bool ktNgTo(int N);
Hm thc hin vic kim tra xem mt s nguyn c phi l s nguyn t hay khng,
nu ng l s nguyn t th tr v gi tr true, nu khng phi th tr v gi tr false.
(b) Hm nhoHonM vi mu khai bo: void nhoHonM(int M);
Hm ny thc hin vic gi hm ktNgTo v in ra tt c cc s nguyn t nh hn
hoc bng M. V d gi nhoHonM(8) th s in ra cc s nguyn t: 2, 3, 5, 7.
(c) Vit nh ngha cho hm MsoNgTo vi mu khai bo: void MsoNgTo(int M);
Hm ny thc hin vic gi hm ktNgTo v in ra M s nguyn t u tin. V d
gi MsoNgTo(8) th s in ra 8 s nguyn t u tin l: 2, 3, 5, 7, 11, 13, 17, 19.
Vit chng trnh cho c vo gi tr 1 s nguyn dng, gi cc hm nhoHonM v
MsoNgTo in ln lt cc s nguyn t ln mn hnh.

Bi tp 48:
Chng trnh tnh lng ca nhn vin
Vit hm nhp h tn, qu qun, thm nin cng tc ca mt nhn vin.
Vit hm tnh lng da vo thm nin cng tc
Vit hm xut h tn, qu qun, thm nin cng tc v lng ca nhn vin.
Vit chng trnh nhp thng tin ca nhn vin, tnh lng v xut thng tin ca
nhn vin (k c lng) ra mn hnh bng cch s dng 3 hm trn.

Bi tp 49:

Vit hm in ra phn t th n ca dy Fn sau: F1 = 1, F2 = 2, Fn = 5Fn1 + 3Fn2 (n 3)


int Fn(int n)//n >= 3
{
int F1 = 1, F2 = 2, Temp;
for(int i=3; i <= n; i++)
Bi tp lp trnh C++

11/18

GV: Lng Trn Hy Hin

{
Temp = F1;
F1 = F2;
F2 = 5 * F1 + 3 * Temp;
}
return F2;
}

Bi tp 50:
Vit hm tnh gi tr a thc bc n: F ( x) = an x n + an1 x n1 + .... + a1 x + a0 , hm c 3 tham s l
mng s thc cc h s ai, gi tr n, x. (Khng c s dng hm ly tha sn c)
double tinhGiaTriDT(double a[100], int n, double x)
{
double kq = 0;
for(int i = 0; i <= n; i++)
{
kq = kq * x + a[n-i];
}
return kq;
}

Bi tp 51:
Vit cc hm sau:
Hm kim tra 3 s thc c phi l 3 cnh ca tam gic hay khng?
bool isTriangle(double a, double b, double c)
Hm tnh din tch tam gic khi bit di 3 cnh:
double area(double a, double b, double c)
Sau s dng 3 hm ny vo cc cng vic sau:
Nhp t bn phm 3 s thc.
Kim tra 3 s thc c phi l di ca 3 cnh tam gic hay khng? Nu c
thi in ra din tch, chu vi ca tam gic ra mn hnh, nu khng xut thng bo
y khng phi l 3 cnh ca tam gic.

Bi tp 52:
Vit nh ngha hm v tam gic Pascal c chiu cao h.
V d h= 4:
1
1 1
1 2 1
1 3 3 1
Vit hm main cho nhp vo 1 s nguyn dng, thc hin gi hm in ra mn hnh tam gic
Pascal c chiu cao tng ng.

CHNG 4. Mng
4.1.

Mng 1 chiu

Bi tp 53:
Vit chng trnh: (dng hm)
Nhp vo mt mng (n phn t, n nhp t bn phm)
Bi tp lp trnh C++

12/18

GV: Lng Trn Hy Hin

Khi to mng ngu nhin


Xut mng ra mn hnh
Tm phn t ln nht, nh nht ca mng
Tm v in ra phn t m u tin tn cng bng 6
Tm v in ra v tr phn t dng nh nht
Tnh tng ca mng
Tnh trung bnh cng ca mng
Tm kim mt phn t x cho trc (x nhp t bn phm)
Sp xp mng theo th t tng dn, gim dn
Xut dy o ngc ca dy ban u
Thm mt phn t x vo v tr k (x, k nhp t bn phm)
Hy mt phn t v tr th k
m s phn t dng v in ra tng cc phn t dng ca mng
Kim tra mng c i xng hay khng?
Kim tra mng c sp th t tng hay khng?

Bi tp 54:
Cho mng mt chiu cc s thc hy tm on [a,b] sao cho on ny cha tt c cc gi tr
trong mng (a,b: s nguyn).

4.2.

Mng 2 chiu

Bi tp 55:
Vit chng trnh:
Nhp vo mng 2 chiu (kch thc m,n: nhp t bn phm)
Xut mng 2 chiu
Tm phn t Min, Max
Sp xp theo th t zigzag
Sp xp theo th t trn c xoy vo trong
Thm mt dng v vo ma trn cui ma trn
Thm mt dng v vo ma trn dng th k
Xa dng th k khi ma trn
Tm v tr ca phn t va l phn t ln nht trn dng ca n ng thi nh
nht trn ct ca n.
Tnh tng, tch 2 ma trn
Tnh tng theo mt iu kin no .
m s lng cc phn t dng nm ma trn tam gic trn.
Tnh trung bnh cng trn mt ct trong ma trn cc s thc.
Tnh tng cc phn t nm trn bin ca ma trn.
m s lng phn t "yn nga" ca ma trn, bit phn t yn nga l phn t
ln nht trn dng v nh nht trn ct ti v tr ang xt.
m s lng phn t "hong hu" ca ma trn, bit phn t hong hu l phn
t ln nht trn dng, trn ct v hai ng cho i qua n.

Bi tp lp trnh C++

13/18

GV: Lng Trn Hy Hin

CHNG 5. Kiu d liu c cu trc


Bi tp 56:
Chng trnh thao tc trn phn s:
Vit hm nhp vo mt phn s.
Vit hm xut mt phn s.
Vit hm cng (tr, nhn, chia) hai phn s, kt qu tr v mt phn s l tng
(hiu, tch, thng) ca hai phn s .
Vit hm kim tra phn s l dng hay m? Tr v: 1: dng, -1: m.
Vit hm so snh 2 phn s (hm tr v mt trong 3 gi tr: -1, 0, 1).
Vit hm qui ng mu s ca hai phn s.
S dng cc hm trn vit mt chng trnh thao tc trn cc phn s.

Bi tp 57:
Hy khai bo kiu d liu biu din hn s trong ton hc v nh ngha hm nhp, xut
cho kiu d liu ny.
Vit hm rt gn hn s.
Vit hm tnh tng, hiu, tch, thng 2 hn s.

Bi tp 58:
Hy khai bo kiu d liu biu din a thc mt bin trong ton hc v nh ngha hm
nhp, xut cho kiu d liu ny.
Hy nhp vo a thc v gi tr bin, tnh v in ra kt qu ca a thc .
(*)Tnh tng/hiu 2 a thc.
(*)Tnh tch/thng 2 a thc.
(*)Tnh o hm cp k = 1 ca a thc.
(*)Tnh a thc d ca php chia a thc th nht cho a thc th hai.

Bi tp 59:
Vit chng trnh nhp vo ta tm v bn knh ca mt ng trn trong mt phng
Oxy. Tnh din tch v chu vi ca n v in ra kt qu ln mn hnh. (HD: nh ngha cu
trc DIEM, DUONGTRON; vit hm Nhap(), Xuat(), TinhDienTich(), TinhChuVi()).

Bi tp 60:
Vit chng trnh nhp vo ta 3 nh ca mt tam gic trong mt phng Oxy. Tnh
din tch, chu vi v ta trng tm tam gic v in ra kt qu ln mn hnh. (HD: nh
ngha cu trc DIEM, TAMGIAC; vit hm Nhap(), Xuat(), TinhDienTich(), TinhChuVi(),
TimTrongTam()). Cho bit dng ca tam gic?

Bi tp 61:
nh ngha cu trc d liu s phc. Hy vit cc hm nhp/xut, tnh tng, hiu, tch,
thng, ly tha trn s phc.

Bi tp 62: (*)
Xt chng trnh d v s.
Kt qu d s bao gm 8 gii. Mi gii l mt con s. Gii 7 l mt s c 2 ch s.
Gii 6 l mt s c 3 ch s. Gii 5 l mt s c 4 ch s. Gii 4, 3, 2, 1, c bit mi gii
l mt s c 5 ch s.
Bi tp lp trnh C++

14/18

GV: Lng Trn Hy Hin

Mt t v s c c trng bi mt con s c 6 ch s.
Mt t v s c gi l trng gii k c m ch s nu m ch s cui ca v s ging
hon ton vi s i din cho gii k.
Vit chng trnh nhp vo kt qu d s, v mt t v s. Xut ra mn hnh thng
bo kt qu d s: khng trng hoc trng gii my.
Lu : khng xt ngy pht hnh, tnh thnh pht hnh, loi v, gii khuyn khch
v mt gii c th c nhiu ln quay (nhiu s).

CHNG 6. Cc k thut nng cao


6.1.

Con tr

Bi tp 63:
Vit hm hon v trong tham s truyn vo l con tr.

Bi tp 64:
Minh ha cc thao tc trn danh sch lin kt n:
Khi to danh sch,
Thm 01 phn t vo danh sch,
Xa 01 phn t x ra khi danh sch,
Tm kim phn t x trn danh sch theo cc tiu ch sau:
o Mt s x cho trc,
o S ln nht,
o S b nht,
o S nguyn t du tin,
o S chnh phng u tin,
o S nguyn t ln nht,
o S nguyn t b nht.
Sp xp trn danh sch.

6.2.

K thut quy

Bi tp 65:
Ci t bi ton tm phn t th n trong dy Fibonaci theo 2 cch: quy v khng quy.

Bi tp 66:
Ci t bi ton thp H Ni. Nhp vo s a, in ra kt qu chuyn a tng bc vi s ct l 3.

Bi tp 67:
Ci t hm tnh ly tha nhanh. V d: x14 = (x7)2, x11 = x6.x5=x.(x5)2,...

Bi tp 68:
Nhp vo s nguyn dng n v s nguyn k (0 <= k <= n) v in ra gi tr C(n,k) ca t hp n ly
k bng cch da vo cng thc: C(n, k) = C(n-1, k) + C(n-1, k-1)

Bi tp 69:
Bi ton 8 con hu: Sp xp n = 8 con hu trn bn c vua 8 x 8 (n x n) sao cho khng c bt k 2
con hu no c th n ln nhau theo lut c vua.

Bi tp lp trnh C++

15/18

GV: Lng Trn Hy Hin

6.3.

Lm vic vi tp tin

Bi tp 70:
Mi a thc a0 + a1x + a2x2 + + anxn c lu trong tp tin vn bn theo quy c sau y:
Dng 1: Lu gi tr n
Dng 2: Lu ln lt cc h s: a0, a1, a2, ..., an
Vit chng trnh nhp vo tn mt tp tin vn bn lu a thc, sau cho php ngi
nhp vo gi tr x, chng trnh tnh v in ra gi tr ca a thc ti x. Qu trnh nhp x v
tnh gi tr a thc kt thc khi ngi dng nhp gi tr x = 0.

Bi tp 71:
Nhp ma trn n x n t tp tin vn bn INPUT.TXT c ni dung nh sau:
Dng u tin cha ch s n
Mi dng k tip cha n s tng ng vi mi dng ca ma trn.
V d: Ni dung trong tp tin vn bn INPUT.TXT:
3
45
1
3
2
66
67
1
2
3
Thc hin:
Kim tra hp l ca d liu.
Vit hm kim tra tng cc phn t trn tng hng v ct c bng nhau khng?

Bi tp 72:
Vit chng trnh c vo mt file input.txt v thc hin cc yu cu sau:
c tng dng, kim tra xem chui k t cha dng c phi l mt s nguyn
dng khng? In ra mn hnh tng s dng tha mn.
Ghi ra file output.txt tt c cc s chia ht cho 2 tm thy trong file input.txt.

Bi tp 73:
Cho bit thng tin c nh v lng ca mi cn b trong trng HSP TpHCM gm nhng thng
tin sau:
H v tn
M s nhn vin
Bc lng
Yu cu:
Xy dng tp tin LUONG.DAT lu tr thng tin c nh v lng ca trng.
S dng thng tin trong tp tin LUONG.DAT tnh lng cho tng nhn vin khi bit
bc lng v s ngy cng (nhp vo t bn phm). Bit rng lng = (bc lng * s
ngy cng) / 26. Ghi li cc kt qu thu c vo tp tin lu tr.

CHNG 7. Bi tp Project
7.1.

Chng trnh d t in

M t:
V d giao din hot ng ca chng trnh nh sau:
Bi tp lp trnh C++

16/18

GV: Lng Trn Hy Hin

Tra tu: a
Nghia: Mot
Cac tu tiep theo:
an
and
angel
angle
apace
apache
apart
ape
are
area
Tra tu: ap
Nghia: Khong tim thay
Cac tu tiep theo:
apace
apache
apart
ape
Tra tu: appp
Nghia: Khong tim thay
Cac tu tiep theo:
Tra tu: ^Z
Ket thuc chuong trinh. Hen gap lai lan sau!

Hng dn:
-

S dng 1 vector cha danh sch t, v 1 vector cha danh sch ngha tng ng. D liu
nhp theo qui c: t trn 1 dng, ngha trn 1 dng, v tip tc nh th, kt thc bng k t
kt thc file (^Z)
Tm v tr ca t cn tra trong vector t.
Xut ngha v tr tng ng trong vector ngha.
Xut cc t cc v tr tip theo m c cc k t bt u ging t cn tra.
Cho lp li vic tra t. Nu nhp vo k t kt thc file th kt thc chng trnh.

GI T IN
1. Vit hm nhp 1 vector cc t.
2. Vit hm kim tra xem 1 t c l bt u ca 1 t khc khng:
bool MayBe(string a, string b);
V d: MayBe(apart, apartment); // tr v true
MayBe(apart, aple); // tr v false
3. Vit 2 hm tm v tr
typedef vector<string>::size_type vec_sz;
vec_sz Find(const vector<string>& wordlist, string word);
vec_sz FindR(const vector<string>& wordlist, string word);
Hm Find tr v v tr ca t x u tin trong vector wordlist m MayBe(word, x) cho gi tr true. Hm
tr v -1 nu khng tm thy.
Bi tp lp trnh C++

17/18

GV: Lng Trn Hy Hin

Hm FindR tr v v tr ca t x cui cng trong vector wordlist m MayBe(word, x) cho gi tr true.


Hm tr v -1 nu khng tm thy.
4. Vit chng trnh nhp vo 1 t v xut t va nhp ra mn hnh, v tip tc nh th. Nu
nhp vo k t kt thc file th kt thc chng trnh.
5. S dng cc phn trn vit chng trnh t in.

7.2.

Chng trnh sp xp dng

M t:
Vit chng trnh sp xp cc dng u vo, loi b cc dng ging nhau v nh s cc dng, sau
in ra mn hnh. Vi v d u vo l:
hey Jude!
dont make it bad
take a sad song
and make it beter
take a sad song
and make it beter
take a sad song
and make it beter
th s in ra l:
1 and make it beter
2 dont make it bad
3 hey Jude!
4 take a sad song
S u dng phi c ghi thng ct.
Sa li chng trnh trn nh s cui dng nhng vn thng ct.

Bi tp lp trnh C++

18/18

GV: Lng Trn Hy Hin

You might also like