#include //khai bao thu vien su dung luong nhap xuat#include //thu vien dinh dang nhap xuat #include //thu vien cac ham toan hoc #include //thu vien cung cap cac ham ve man hinh, ban
Trang 1Bài 1 Vi t ch ế ươ ng trình nh p t bàn phím n s nguyên d ậ ừ ố ươ ng nh h n 100, in ra màn hình ỏ ơ hai c t song song, m t c t là các s , còn c t kia là t ng c a các ch s t ộ ộ ộ ố ộ ổ ủ ữ ố ươ ng ng c t th ứ ở ộ ứ
nh t Tìm và in ra s có t ng c a các ch s là l n nh t, n u có nhi u h n m t s nh v y ấ ố ổ ủ ữ ố ớ ấ ế ề ơ ộ ố ư ậ thì in s đ u tiên ố ầ
Bài 2 M t ng ộ ườ ử ế i g i ti t ki m a đ ng v i lãi su t s% m t tháng (tính lãi hàng tháng) Vi t ệ ồ ớ ấ ộ ệ
m t ch ộ ươ ng trình tính và in ra màn hình hai c t song song, c t th nh t là s tháng đã g i, c t ộ ộ ứ ấ ố ử ộ
th hai t ng s ti n (c v n và lãi) ng v i s tháng c t th nh t cho m t kho ng th i gian ứ ổ ố ề ả ố ứ ớ ố ở ộ ứ ấ ộ ả ờ
Bài 4 Cho x là m t s th c, hãy xây d ng hàm tính và in ra màn hình hai c t song song, c t ộ ố ự ự ộ ộ
th nh t là giá tr c a đ i s , c t th hai là giá tr c a hàm f ng v i đ i s c t th nh t: ứ ấ ị ủ ố ố ộ ứ ị ủ ứ ớ ố ố ở ộ ứ ấ
Sau đó, vi t m t ch ế ộ ươ ng trình nh p t bán phím m t m ng g m n s th c, và g i hàm đã l p ạ ừ ộ ả ồ ố ự ọ ậ
đ ượ ở c trên v i đ i s là các s v a nh p ớ ố ố ố ừ ậ
Bài 5 Vi t ch ế ươ ng trình tính và in ra màn hình s ti n đi n tháng 10/99 c a n khách hàng theo ố ề ệ ủ các ch s trên đ ng h đi n c a tháng 9 và c a tháng 10 đ ỉ ố ồ ồ ệ ủ ủ ượ c nh p vào t bàn phím (ph i ậ ừ ả
ki m tra đ đ m b o r ng ch s c a tháng sau ph i l n h n ch s c a các tháng tr ể ể ả ả ằ ỉ ố ủ ả ớ ơ ỉ ố ủ ướ c).
Bi t r ng: 50 s đ u ti n giá 500 đ ng/s , 100 s ti p theo giá 800 đ ng/s , 100 s ti p theo ế ằ ố ầ ề ồ ố ố ế ồ ố ố ế
n a giá 1000 đ ng/s , 100 s ti p theo n a giá 1200 đ ng/s , và t s th 351 tr đi giá 1500 ữ ồ ố ố ế ữ ồ ố ừ ố ứ ở
đ ng/s ồ ố
Bài 6 Vi t m t ch ế ộ ươ ng trình nh p vào t bàn phím đi m ki m tra c a m t môn h c c a n ậ ừ ể ể ủ ộ ọ ủ
h c sinh và in k t qu ra màn hình d ọ ế ả ướ ạ i d ng hai c t song song, m t c t là đi m và c t th ộ ộ ộ ể ộ ứ hai là x p lo i theo đi m v i các qui đ nh sau: ế ạ ể ớ ị
và các nghi m th c c a nó (n u c ), ng ệ ứ ủ ế ố ươ cij l i thì in là không có nghi m th c ạ ệ ự
Bài 8 Năm 1999, dân s n ố ướ c ta là 76 tri u ng ệ ườ ỷ ệ i, t l tăng t nhiên là k% m t năm L p ự ộ ậ
m t ch ộ ươ ng trình in ra màn hình hai c t song song, c t th nh t là năm, c t th hai là dân s ộ ộ ứ ấ ộ ứ ố
c a năm t ủ ươ ng ng c t m t cho đ n khi dân s tăng s l n so v i năm 1999 Các s k và s ứ ở ộ ộ ế ố ầ ớ ố
Trang 2đ ượ c nh p vào t bàn phím ậ ừ
Bài 9 Vi t ch ế ươ ng trình gi i b t ph ả ấ ươ ng trình b n hai v i a, b, c b t kỳ đ ậ ớ ấ ượ c nh p t bàn ậ ừ phím: ax2+bx+c>0 In ra màn hình b t ph ấ ươ ng trình v i các h s đã nh p, giá tr c a delta ớ ệ ố ậ ị ủ
và các nghi m th c c a b t ph ệ ự ủ ấ ươ ng trình.
Bài 10 Xây d ng m t hàm s p x p thep th t ự ộ ắ ế ứ ự tăng d n ầ m t m ng g m n s th c Vi t ộ ả ồ ố ự ế
ch ươ ng trình đ nh p n s th c t bàn phím, s d ng hàm s p x p nói trên, và in ra màn hình ể ậ ố ự ừ ử ụ ắ ế hai c t song song, m t c t là m ng ch a s p x p, m t c t là m ng đã đ ộ ộ ộ ả ư ắ ế ộ ộ ả ượ ắ c s p x p ế
Bài 11 Xây d ng m t hàm s p x p thep th t ự ộ ắ ế ứ ự gi m d n ả ầ m t m ng g m n s th c Vi t ộ ả ồ ố ự ế
ch ươ ng trình đ nh p n s th c t bàn phím, s d ng hàm s p x p nói trên, và in ra màn hình ể ậ ố ự ừ ử ụ ắ ế hai c t song song, m t c t là m ng ch a s p x p, m t c t là m ng đã đ ộ ộ ộ ả ư ắ ế ộ ộ ả ượ ắ c s p x p ế
Bài 12 Cho F là m t s th c l n h n 2, và S=1/2+1/3+…+1/n Hãy xây d ng m t hàm đ tìm ộ ố ự ớ ơ ự ộ ể giá tr l n nh t c a n sao cho S<=F Vi t m t ch ị ớ ấ ủ ế ộ ươ ng trình đ nh p vào t bàn phím m s ể ậ ừ ố
th c Fi, s d ng hàm nói trên đ i v i các hàm Fi đã nh p và in ra màn hình thành ba c t song ự ử ụ ố ớ ậ ộ song: các giá tr c a Fi, n, và S t ị ủ ươ ng ng ứ
Bài 13 Cho F là m t s th c l n h n 2, và S=1/2+1/3+…+1/n Hãy xây d ng m t hàm đ tìm ộ ố ự ớ ơ ự ộ ể giá tr nh nh t c a n sao cho S<=F Vi t m t ch ị ỏ ấ ủ ế ộ ươ ng trình đ nh p vào t bàn phím m s ể ậ ừ ố
th c Fi, s d ng hàm nói trên đ i v i các hàm Fi đã nh p và in ra màn hình thành ba c t song ự ử ụ ố ớ ậ ộ song: các giá tr c a Fi, n, và S t ị ủ ươ ng ng ứ
Bài 14 Xây d ng m t hàm tính giá tr trung bình c a n s th c (Giá tr trung bình c a m t ự ộ ị ủ ố ự ị ủ ộ dãy s đ ố ượ c cho b ng công th c: ằ ứ )
S d ng hàm nói trên đ vi t ch ử ụ ể ế ươ ng trình nh p n s th c t bàn phím và in ra màn hình c t ậ ố ự ừ ộ
s đã nh p, t ng, giá tr trung bình c a chúng ố ậ ổ ị ủ
Bài 15 Xây d ng m t hàm tính giá tr trung bình c a n s th c (Đ lêcnh chu n c a dãy s ự ộ ị ủ ố ự ộ ẩ ủ ố
đ ượ c cho b ng công th c: ằ ứ , v i ớ )
S d ng hàm nói trên đ vi t ch ử ụ ể ế ươ ng trình nh p n s th c t bàn phím và in ra màn hình c t ậ ố ự ừ ộ
s đã nh p, t ng, giá tr trung bình và đ l ch chu n c a chúng ố ậ ổ ị ộ ệ ẩ ủ
Bài 16 Hãy xây d ng m t hàm đ nh p t bàn phím m t m ng s th c Vi t m t ch ự ộ ể ậ ừ ộ ả ố ự ế ộ ươ ng trình s d ng hàm đã xây d ng đ ử ụ ự ượ ở c trên đ nh p s li u cho hai m ng s th c, m t m ng ể ậ ố ệ ả ố ự ộ ả
có n ph n t , và m t m ng có m ph n t , in ra màn hình hai c t song song, m i c t là m t ẩ ử ộ ả ầ ử ộ ỗ ộ ộ
Trang 3Bài 18 Cho tu i và s con c a n ph n trong đ tu i 15-49, hãy xây d ng m t hàm tính và in ổ ố ủ ụ ữ ộ ổ ự ộ
b n phân b c a các ph n này theo nhóm 5 tu i Vi t ch ả ố ủ ụ ữ ổ ế ươ ng trình đ nh p tu i và s con ể ậ ổ ố
c a n ph n trong đ tu i 15-49, sau đó s d ng hàm đã xây d ng trên đ in b ng phân b ủ ụ ữ ộ ổ ử ụ ự ở ể ả ố theo tu i ổ
Bài 19 Cho tu i và s con c a n ph n trong đ tu i 15-49, hãy xây d ng m t hàm tính và in ổ ố ủ ụ ữ ộ ổ ự ộ
b n phân b c a các ph n này theo nhóm 5 tu i Vi t ch ả ố ủ ụ ữ ổ ế ươ ng trình đ nh p tu i và s con ể ậ ổ ố
c a n ph n trogn đ tu i 15-49, sau đó s d ng hàm đã xây d ng trên đ in b ng phân b ủ ụ ữ ộ ổ ử ụ ự ở ể ả ố
s con c a các ph n ố ủ ụ ữ này theo tu i. ổ
Bài 20 Cho m t xây b t kỳ, không s d ng các hàm th vi n v xâu, hãy xây d ng m t hàm ộ ấ ử ụ ư ệ ề ự ộ
đ i t t c các ổ ấ ả ch th ữ ườ thành ch hoa ng ữ (các ký t khác gi nguyên) và in c hai ra màn ự ữ ả hình Vi t m t ch ế ộ ươ ng trình nh p m t xây b t kỳ t bàn phím, sau đó s d ng hàm đã xây ậ ộ ấ ừ ử ụ
d ng trên đ in k t qu ra màn hình ự ở ể ế ả
Bài 21 Cho m t xây b t kỳ, không s d ng các hàm th vi n v xâu, hãy xây d ng m t hàm ộ ấ ử ụ ư ệ ề ự ộ
đ i t t c các ổ ấ ả ch hoa ữ thành ch th ữ ườ ng (các ký t khác gi nguyên) và in c hai ra màn ự ữ ả hình Vi t m t ch ế ộ ươ ng trình nh p m t xây b t kỳ t bàn phím, sau đó s d ng hàm đã xây ậ ộ ấ ừ ử ụ
char hoten[25]; //H và tênọ
float m1,m2,m3l //Đi m ba môn thiể
float tong; //T ng đi m ba mônổ ể
} danhsach[100];
Hãy xây d ng m t hàm đ nh p s li u cho n thí sinh Sau đó vi t m t ch ự ộ ể ậ ố ệ ế ộ ươ ng trình s d ng ử ụ hàm nói trên đ nh p s li u và in b ng đi m c a các thí sinh này theo d ng ba c t: S báo ể ậ ố ệ ả ể ủ ạ ộ ố danh, H tên, T ng đi m ọ ổ ể
Bài 24 Cho m t xây b t, hãy xây d ng m t hàm đ s a các l i chính t ộ ấ ự ộ ể ử ỗ ả không vi t hoa đ u ế ầ câu trong xâu này, in ra xâu ch a s a và xâu đã s a Sau đó vi t m t ch ư ử ử ế ộ ươ ng trình đ nh p ể ậ
m t xâu và s d ng hàm nói trên đ s a l i ộ ử ụ ể ử ỗ
Bài 25 Cho c u trúc: ấ
Code:
struc dienthoai{
Trang 4int sdt; //S đi n tho iố ệ ạ
float sotien; //S ti n ph i n pố ề ả ộ
} thuebao[100];
Hãy xây d ng m t hàm đ nh p s li u cho n thuê bao Sau đó vi t m t ch ự ộ ể ậ ố ệ ế ộ ươ ng trình s ử
d ng hàm nói trên đ nh p s li u và in b ng s ti n ph i n p c a các thuê bao theo d ng ba ụ ể ậ ố ệ ả ố ề ả ộ ủ ạ
c t: H tên, s đi n tho i, s ti n ph i n p ộ ọ ố ệ ạ ố ề ả ộ
Bài 26 Hãy xây d ng m t hàm in ra màn hình n i dung m t t p văn b n b t kỳ (có d ng l i ự ộ ộ ộ ệ ả ấ ự ạ sau m i trang màn hình) Sau đó, vi t m t ch ỗ ế ộ ươ ng trình đ nh p vào t bàn phím tên c a m t ể ậ ừ ủ ộ
t p văn b n và s d ng hàm nói trên đ in n i dung c a t p này ra màn hình ệ ả ử ụ ể ộ ủ ệ
Bài 27 Cho tu i và trình đ văn hóa (0-4) c a n ng ổ ộ ủ ườ i, hãy xây d ng m t hàm in b n phân b ự ộ ả ố
c a s ng ủ ố ườ i này theo nhóm 5 tu i và trình đ văn hóa Sau đó, vi t m t ch ổ ộ ế ộ ươ ng trình đ ể
nh p tu i và trình đ văn hóa c a n ng ậ ổ ộ ủ ườ i, s d ng hàm nói trên đ in k t qu ra màn hình ử ụ ể ế ả
Bài 28 Vi t m t ch ế ộ ươ ng trình đ nh p tu i và trình đ văn hóa (0-4) c a n ng ể ậ ổ ộ ủ ườ i, sau đó ghi các s li u này lên m t t p mode văn b n ố ệ ộ ệ ả
Bài 29 Cho m t xâu b t kỳ, hãy xây d ng m t hàm đ s a các l i chính t ộ ấ ự ộ ể ử ỗ ả không có d u ấ cách sau d u ph y và sau d u ch m ấ ả ấ ấ , in ra màn hình xâu ch a s a và xâu đã s a Sau đó vi t ư ử ử ế
ch ươ ng trình đ nh p m t xâu b t kỳ và s d ng hàm nói trên đ s a l i ể ậ ộ ấ ử ụ ể ử ỗ
Bài 30 Cho m t xâu b t kỳ, hãy xây d ng m t hàm đ s a các l i chính t ộ ấ ự ộ ể ử ỗ ả không có d u ấ cách gi a các t ữ ừ, in ra xâu g c và xâu đã s a Sau đó vi t m t ch ố ử ế ộ ươ ng trình đ nh p m t xâu ể ậ ộ
h này theo d ng hai c t: H tên, s đi n tiêu th , T ng s ti n ộ ạ ộ ọ ố ệ ụ ổ ố ề
Bài 33 Hãy xây d ng m t hàm đ nh p t bàn phím m t m ng các s th c Vi t ch ng trình ự ộ ể ậ ừ ộ ả ố ự ế ư
s d ng hàm nói trên đ nh p s li u cho hai m ng s th c cùng có n ph n t , in ra màn hình ử ụ ể ậ ố ệ ả ố ự ầ ử
ba c t song song, hai c t đ u là hai m ng đã nh p, còn c t th ba là hi u c a hai c t đ u, ộ ộ ầ ả ậ ộ ứ ệ ủ ộ ầ
Trang 5dòng cu i cùng c a c ba c t là t ng c a các ph n t trong c t ố ủ ả ộ ỏ ủ ầ ử ộ
Bài 34 Cho F là m t s th c l n h n 2, và ộ ố ự ớ ơ , v i x là m t s nguyên d ớ ộ ố ươ ng b t kỳ Hãy ấ xây d ng m t hàm đ tìm giá tr ự ộ ể ị l n nh t ớ ấ c a n sao cho S<=F, in ra màn hình các giá tr c a ủ ị ủ
x, F, S và n Vi t m t ch ế ộ ươ ng trình đ nh p vào t bàn phím s th c F, s nguyên d ể ậ ừ ố ự ố ươ ng x và
s d ng hàm nói trên đ i v i các giá tr đã nh p đ in k t qu ra màn hình ử ụ ố ớ ị ậ ể ế ả
Bài 35 Cho F là m t s th c l n h n 2, và ộ ố ự ớ ơ , v i x là m t s nguyên d ớ ộ ố ươ ng b t kỳ Hãy ấ xây d ng m t hàm đ tìm giá tr ự ộ ể ị nh nh t ỏ ấ c a n sao cho S<=F, in ra màn hình các giá tr c a ủ ị ủ
x, F, S và n Vi t m t ch ế ộ ươ ng trình đ nh p vào t bàn phím s th c F, s nguyên d ể ậ ừ ố ự ố ươ ng x và
s d ng hàm nói trên đ i v i các giá tr đã nh p đ in k t qu ra màn hình ử ụ ố ớ ị ậ ể ế ả
Bài 36 Hãy xây d ng m t hàm đ nh p t bán phím m t m ng cac s th c Vi t ch ự ộ ể ậ ừ ộ ả ố ự ế ươ ng trình s d ng hàm nói trên đ nh p s li u cho hai m ng s th c cùng có n ph n t , in ra màn ử ụ ể ậ ố ệ ả ố ự ầ ử hình ba c t song song, hai c t đ u là hai m ng đã nh p, c t th ba là tích c a hai c t đ u, ộ ộ ầ ả ậ ộ ứ ủ ộ ầ dòng cu i cùng c a c ba c t là t ng các ph n t trong c t ỗ ủ ả ộ ổ ầ ử ộ
Bài 37 Vi t m t ch ế ộ ươ ng trình đ nh p s báo danh, h tên và đi m thi ba môn Toán, Lý, Hóa ể ậ ố ọ ể
c a n thí sinh, sau đó ghi các s li u này lên m t t p mode văn b n ủ ố ệ ộ ệ ở ả
Bài 38 Hãy xây d ng m t hàm in ra mnaf hình n i dung c a m t t p văn b n b t kỳ theo ự ộ ộ ủ ộ ệ ả ấ
d ng trang màn hình có đánh s trang Sau đó, vi t m t ch ạ ố ế ộ ươ ng trình đ nh p t bàn phím tên ể ậ ừ
c a m t t p văn b n và s d ng hàm nói trên đ in n i dung c a t p này ra màn hình ủ ộ ệ ả ử ụ ể ộ ủ ệ
Bài 39 Hãy xây d ng m t hàm in ra mnafh ình n i dung c a m t t p văn b n b t kỳ theo ự ộ ộ ủ ộ ệ ả ấ
d ng trang màn hình, dòng đ u c a m i trang có đánh s trang góc bên ph i và tên t p ạ ở ầ ủ ỗ ố ở ả ệ góc trái Sau đó, vi t m t ch ế ộ ươ ng trình đ nh p t bàn phím tên c a m t t p văn b n và s ể ậ ừ ủ ộ ệ ả ử
d ng hàm nói trên đ in n i dung c a t p này ra màn hình ụ ể ộ ủ ệ
Bài 40 Cho c u trúc ấ
Code:
struc thisinh{
char hoten[25]; //H và tênọ
float m1,m2,m3l //Đi m ba môn thiể
float tong; //T ng đi m ba mônổ ể
} danhsach[100];
Vi t ch ế ươ ng trình (có s d ng các hàm) đ thêm và b t các thí sinh theo th t gi m d n c a ử ụ ể ớ ứ ự ả ầ ủ
t ng đi m, và in ra mnaf hình danh sách đã s p ổ ể ắ
Trang 6tuananhk43
Bài 1 Vi t ch ế ươ ng trình nh p t bàn phím n s nguyên d ậ ừ ố ươ ng nh h n 100, in ra màn hình hai ỏ ơ
c t song song, m t c t là các s , còn c t kia là t ng c a các ch s t ộ ộ ộ ố ộ ổ ủ ữ ố ươ ng ng c t th nh t ứ ở ộ ứ ấ Tìm và in ra s có t ng c a các ch s là l n nh t, n u có nhi u h n m t s nh v y thì in s ố ổ ủ ữ ố ớ ấ ế ề ơ ộ ố ư ậ ố
//Ham tinh tong cac chu so
//Vd n=15 thi tra ve gia tri la 6
//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
Trang 7Đáp án Bài 2 M t ng ộ ườ ử ế i g i ti t ki m a đ ng v i lãi su t s% m t tháng (tính lãi hàng tháng) ệ ồ ớ ấ ộ
Vi t m t ch ệ ộ ươ ng trình tính và in ra màn hình hai c t song song, c t th nh t là s tháng đã ộ ộ ứ ấ ố
g i, c t th hai t ng s ti n (c v n và lãi) ng v i s tháng c t th nh t cho m t kho ng ử ộ ứ ổ ố ề ả ố ứ ớ ố ở ộ ứ ấ ộ ả
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;
Trang 8Bài 3 M t ng ộ ườ ử ế i g i ti t ki m à đ ng v i lãi su t là s% m t tháng trong kỳ h n 6 tháng (6 ệ ồ ớ ấ ộ ạ tháng tính lãi m t l n) Vi t ch ộ ầ ế ươ ng trình tính và in ra màn hình hai c t song song, c t th nh t ộ ộ ứ ấ
là s tháng đã g i, c t th hai là t ng ti n (c v n và lãi) ng v i s tháng c t th nh t cho ố ử ộ ứ ổ ề ả ố ứ ớ ố ở ộ ứ ấ
m t kho ng th i gian t 6 tháng đ n t tháng, v i a, s, và t đ ộ ả ờ ừ ế ớ ượ c nh p t bàn phím (Bi t r ng ậ ừ ế ằ
n u lĩnh không ch n kỳ nào thì không đ ế ắ ượ c tính lãi kỳ y) ấ
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;
bài này gi ng bài 2, chú ý tính lãi sau m i 6 tháng ố ỗ
Đáp án Bài 4 Cho x là m t s th c, hãy xây d ng hàm tính và in ra màn hình hai c t song ộ ố ự ự ộ song, c t th nh t là giá tr c a đ i s , c t th hai là giá tr c a hàm f ng v i đ i s c t ộ ứ ấ ị ủ ố ố ộ ứ ị ủ ứ ớ ố ố ở ộ
Trang 9//Ham nhap mang cac so thuc
void nhapMang(float *a,char *name, int n){
for (int i=0; i<n;i++)
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
ki m tra đ đ m b o r ng ch s c a tháng sau ph i l n h n ch s c a các tháng tr ể ể ả ả ằ ỉ ố ủ ả ớ ơ ỉ ố ủ ướ c).
Bi t r ng: 50 s đ u ti n giá 500 đ ng/s , 100 s ti p theo giá 800 đ ng/s , 100 s ti p theo ế ằ ố ầ ề ồ ố ố ế ồ ố ố ế
n a giá 1000 đ ng/s , 100 s ti p theo n a giá 1200 đ ng/s , và t s th 351 tr đi giá 1500 ữ ồ ố ố ế ữ ồ ố ừ ố ứ ở
đ ng/s ồ ố
Trang 10S a đ u bài 1 tý cho đ n gi n ử ầ ơ ả : nh p s l ậ ố ượ ng đi n tiêu th , tính s ti n ph i tr theo đ n ệ ụ ố ề ả ả ơ giá trên (ch a có thu VAT), VAT =10% ư ế
Gi n u nh p 2 ch s thì tr nó đi cho nhau thì s ra l ờ ế ậ ỉ ố ừ ẽ ượ ng đi n tiêu th ệ ụ
đ ng tác ki m tra s sau l n h n s tr ộ ể ố ớ ơ ố ướ c thi t nghĩ r t đ n gi n, đ các b n sv t làm ế ấ ơ ả ể ạ ự
Khi h c đ n ph n m ng, chúng ta s nh p s ng ọ ế ầ ả ẽ ậ ố ườ ươ i t ng ng là s ph n t c a m ng, sau ứ ố ầ ử ủ ả
đó v n d ng bài này đ tính ti n đi n cho t ng ng ậ ụ ể ề ệ ừ ườ ừ i (t ng giá tr trong m ng) ị ả
chú ý: t là s ti n ph i tr , t*1.1 là s ti n đã có thu 10% ố ề ả ả ố ề ế
Bài 7 Vi t ch ế ươ ng trình gi i ph ả ươ ng trình b c hai ax2+bx+c=0 v i a, b, c b t kỳ đ ậ ớ ấ ượ c nh p ậ vào t bàn phím In ra màn hình ph ừ ươ ng trình b c hai v i các h s đã nh p, giá tr c a delta ậ ớ ệ ố ậ ị ủ
và các nghi m th c c a nó (n u c ), ng ệ ứ ủ ế ố ươ cij l i thì in là không có nghi m th c ạ ệ ự
chú ý: n u a=0 thì s thành pt b c nh t, nên ti n đây đ a luôn bài gpt b1 ế ẽ ậ ấ ệ ư
Trang 11cout<<"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;
Bài 8 Năm 1999, dân s n ố ướ c ta là 76 tri u ng ệ ườ ỷ ệ i, t l tăng t nhiên là k% m t năm L p ự ộ ậ
m t ch ộ ươ ng trình in ra màn hình hai c t song song, c t th nh t là năm, c t th hai là dân s ộ ộ ứ ấ ộ ứ ố
c a năm t ủ ươ ng ng c t m t cho đ n khi dân s tăng s l n so v i năm 1999 Các s k và s ứ ở ộ ộ ế ố ầ ớ ố
đ ượ c nh p vào t bàn phím ậ ừ
Gi i: ả
Code:
Trang 12int 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;
Bài 10 Xây d ng m t hàm s p x p theo th t tăng d n m t m ng g m n s th c Vi t ự ộ ắ ế ứ ự ầ ộ ả ồ ố ự ế
ch ươ ng trình đ nh p n s th c t bàn phím, s d ng hàm s p x p nói trên, và in ra màn hình ể ậ ố ự ừ ử ụ ắ ế hai c t song song, m t c t là m ng ch a s p x p, m t c t là m ng đã đ ộ ộ ộ ả ư ắ ế ộ ộ ả ượ ắ c s p x p ế
cout<<setw(20)<<"Mang chua sap xep";
cout<<setw(20)<<"Mang da sap xep";
Trang 13Bài 11 Xây d ng m t hàm s p x p thep th t gi m d n m t m ng g m n s th c Vi t ự ộ ắ ế ứ ự ả ầ ộ ả ồ ố ự ế
ch ươ ng trình đ nh p n s th c t bàn phím, s d ng hàm s p x p nói trên, và in ra màn hình ể ậ ố ự ừ ử ụ ắ ế hai c t song song, m t c t là m ng ch a s p x p, m t c t là m ng đã đ ộ ộ ộ ả ư ắ ế ộ ộ ả ượ ắ c s p x p ế
Trang 14void 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";
Trang 15#include <iostream.h> //khai bao thu vien su dung luong nhap xuat
#include <iomanip.h> //thu vien dinh dang nhap xuat
#include <math.h> //thu vien cac ham toan hoc
#include <conio.h> //thu vien cung cap cac ham ve man hinh, ban phimvoid NhapMang(float a[], int n){
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
Trang 16} //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
float a[100]; //khai bao bien mang a co 100 phan tu s th cố ự 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
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ú ý: n u mu n s p x p tăng d n thì thay toán t so sánh ế ố ắ ế ầ ử nh h n ỏ ơ trong đo n code ạ trên b i toán t so sánh ở ử l n h n ớ ơ
C th hàm s p x p tăng d n s là: ụ ể ắ ế ầ ẽ
Code:
void SapXep(float a[], int n){
//Sap xep tăng d nầ
Trang 17void SapXep(float a[], int n){
//Sap xep tăng d nầ
#include <iostream.h> //khai bao thu vien su dung luong nhap xuat
#include <iomanip.h> //thu vien dinh dang nhap xuat
#include <math.h> //thu vien cac ham toan hoc
#include <conio.h> //thu vien cung cap cac ham ve man hinh, ban phim
void NhapMang(float a[], int &n){ // n là tham chi uế
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
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
Trang 18void main(void)
{
float a[100]; //khai bao bien mang a co 100 phan tu s th cố ự int n; //khai bao bien n luu so luong phan tu trong mang
NhapMang(a,n); //nhap s lố ượng n và gia tri cho tung phan tucua mang
cout << "Mang truoc khi sap xep:"<<endl;
InMang(a,n); //in mang truoc khi sap xep
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
}
Đ bài: ề Vi t hàm nh p n ph n t s th c t bàn phím: ế ậ ầ ử ố ự ừ
Chúng ta ch vi t 1 hàm, khi c n s d ng trong bài nào, ta s đ a hàm này vào bài đó ỉ ế ầ ử ụ ẽ ư
Cách 1: (ki u kinh đi n) ể ể
Code:
void NhapMang(float a[], int &n){ // n là tham chi uế
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
Cách 2: S d ng con tr nh là bi n m ng ử ụ ỏ ư ế ả
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
đây a đ c hi u là đ a ch c a đ u m ng, t ng đ ng v i a[0]
và (a+i) là đ a ch c a ph n t th i trong m ng ị ỉ ủ ầ ử ứ ả
Cách 3: K t h p 2 ki u trên ế ợ ể
Trang 19void 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
Cách s d ng: ử ụ Hàm nh p m ng v i 3 cách trên đ u có th đ ậ ả ớ ề ể ượ ử ụ c s d ng vào bài 11 ch v i ế ớ bài gi i l n 2 ả ầ trên ở
Câu h i: ỏ N u đ bài là ế ề Nh p n ph n t ậ ầ ử s nguyên ố t bàn phím ừ thì chúng ta s thay đ i ẽ ổ
ch nào trong 3 hàm trên? ỗ
Ta đã có hàm nh p n ph n t s nguyên trên roài ậ ầ ử ố ở
sau khi nh p xong s l ậ ố ượ ng n, và n ph n t s nguyên cho m ng ầ ử ố ả
ta s duy t qua m i ph n t c a m ng: ẽ ệ ọ ầ ử ủ ả
trong m i l n duy t, n u g p ph n t th a mãn đi u ki n ( là s ch n (a0), ho c là s nguyên ỗ ầ ệ ế ặ ầ ử ỏ ề ệ ố ẵ ặ ố
t (a1) ) thì s x lý ph n t đó theo yêu c u (li t kê, đ m ho c là tính t ng ) ố ẽ ử ầ ử ầ ệ ế ặ ổ
Ta có code C++ gi i các ý a1, b1, c1 nh sau: ả ư
Code:
#include <iostream.h> //khai bao thu vien su dung luong nhap xuat
#include <iomanip.h> //thu vien dinh dang nhap xuat
#include <math.h> //thu vien cac ham toan hoc
#include <conio.h> //thu vien 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
Trang 20cin >> *(a+i); //nhap gia tri tu ban phim cho phan
tu thu i
} //ket thuc vong lap
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)
{
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
+đ u tiên yêu c u ng ầ ầ ườ i dùng nh p s l ậ ố ượ ng ph n t là n ầ ử
+l p n l n, m i l n nh p 1 giá tr , v a nh p xong là so sánh v i bi n min và max, n u giá tr ặ ầ ỗ ầ ậ ị ừ ậ ớ ế ế ị
Trang 21v a nh p bé h n min thì min s b ng s v a nh p, và n u s đó l n h n bi n max thì max s ừ ậ ơ ẽ ằ ố ừ ậ ế ố ớ ơ ế ẽ
b ng s đó ằ ố
Cách 2: dùng m ng (kinh đi n) ả ể
+ nh p m ng n ph n t s nguyên t bàn phím (đã có thu t toán và code trên) ậ ả ầ ử ố ừ ậ ở
+ gán t m th i min và max b ng ph n t đ u tiên ạ ờ ằ ầ ử ầ
+ duy t qua toàn m ng: n u giá tr đang duy t bé h n min ho c l n h n max thì c p nh t l i ệ ả ế ị ệ ơ ặ ớ ơ ậ ậ ạ min và max
gi mu n roài, đi ng cái đã, lúc khác post code lên ờ ộ ủ
Bài 16 Hãy xây d ng m t hàm đ nh p t bàn phím m t m ng s th c Vi t m t ự ộ ể ậ ừ ộ ả ố ự ế ộ
ch ươ ng trình s d ng hàm đã xây d ng đ ử ụ ự ượ ở c trên đ nh p s li u cho hai m ng s th c, ể ậ ố ệ ả ố ự
m t m ng có n ph n t , và m t m ng có m ph n t , in ra màn hình hai c t song song, m i ộ ả ẩ ử ộ ả ầ ử ộ ỗ
//Do bài yêu c u nh p hai mangầ ậ
//Chúng ta cho thêm tham s name đ hi n th tên m ng khi nh pố ể ể ị ạ ậ
void nhapMang(double *a,char *name, int n){
for (int i=0; i<n;i++)
Trang 22s2=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
+đ u tiên yêu c u ng ầ ầ ườ i dùng nh p s l ậ ố ượ ng ph n t là n ầ ử
+l p n l n, m i l n nh p 1 giá tr , v a nh p xong là so sánh v i bi n min và max, n u giá tr ặ ầ ỗ ầ ậ ị ừ ậ ớ ế ế ị
Trang 23v a nh p bé h n min thì min s b ng s v a nh p, và n u s đó l n h n bi n max thì max s ừ ậ ơ ẽ ằ ố ừ ậ ế ố ớ ơ ế ẽ
b ng s đó ằ ố
Code:
#include <iostream.h>
void main(){
int x, i, n, min, max;
cout << "Nhap so luong n = "; cin >> n; //nhap so luong
if ( n > 0 ) { //so luong > 0 cout<<" Gia tri phan tu thu dau tien = "; cin >> x; //nhap a[0]
min = max = x; //min=max=a[0] for ( i = 2 ; i<=n; i++ ){ //vong lap i=2->n cout<<" Gia tri phan tu thu "<<i<<" = "; cin >> x; //nhap a[i]
if ( x < min ) min = x; //cap nhat min
if ( x > max ) max = x; //cap nhat max }
cout << "Gia tri lon nhat = " << max << endl; //in ket qua
cout << "Gia tri nho nhat = " << min << endl;
+ nh p m ng n ph n t s nguyên t bàn phím (đã có thu t toán và code trên) ậ ả ầ ử ố ừ ậ ở
+ gán t m th i min và max b ng ph n t đ u tiên ạ ờ ằ ầ ử ầ
+ duy t qua toàn m ng: n u giá tr đang duy t bé h n min ho c l n h n max thì c p nh t l i ệ ả ế ị ệ ơ ặ ớ ơ ậ ậ ạ 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];
Trang 24TimMinMax (a, n, min, max);
cout << "Gia tri lon nhat = " << max << endl;
cout << "Gia tri nho nhat = " << min << endl;
}
Chú ý: bi n min và max trong đ i s hàm TimMminMax là tham chi u nhé ế ố ố ế
void TimMinMax(int a[], int n, int &min, int &max)
code trên hàm tìm min và max dùng cách kinh đi n,
ta có th thay đ i b ng cách dùng 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 t ươ ng đ ươ ng v i con tr tr vào đ u m ng nên *a t ớ ỏ ỏ ầ ả ươ ng đ ươ ng v i a[0] ớ
ban đ u p tr vào ph n t a[1] (kh i kh i t o con tr *p=++a, t c là p tr t i a[1] ) ầ ỏ ầ ử ố ở ạ ỏ ứ ỏ ớ
trong m i vòng l p p tr vào a[i], và c p nh t min và max n u a[i] < min ho c a[i] > max ỗ ặ ỏ ậ ậ ế ặ sau đó p tr đ n ph n t ti p theo (l nh p++ ) ỏ ế ầ ử ế ệ
(bi n i đây đ m b o duy t s duy t t a[1] đ n a[n-1] : duy t h t) ế ở ả ả ệ ẽ ệ ừ ế ệ ế
Có ai ko hi u cách làm vi c c a hàm tìm min max th 2 này không? ể ệ ủ ứ
Đ bài: Nh p n ph n t s nguyên, in ra màn hình giá tr nh nh t và l n nh t trong ề ậ ầ ử ố ị ỏ ấ ớ ấ
void NhapMang(int *a, int &n){
cout << "Nhap N = "; cin >> n;
Trang 25cout << "Nhap mang" << endl;
for (int i = 0; i < n ; i++){
cout << "a[" << i << "] = ";
cin >> *(a+i);
}
}
void SapXep(int a[], int n) { //s p x p tăng d nắ ế ầ
for (int i = 0; i < n - 1; i++)
cout << "Gia tri nho nhat = " << a[0] << endl;
cout << "Gia tri lon nhat = " << a[n-1] << endl;
}
Đ bài ề : Nh p n ph n t s nguyên Nh p ph n t c n tìm ki m X N u trong n ậ ầ ử ố ậ ầ ử ầ ế ế
ph n t đã nh p có X thì báo "tìm th y", "s l n tìm th y" và "các v trí tìm th y", ầ ử ậ ấ ố ầ ấ ị ấ
ng ượ ạ c l i báo "không tìm th y" ấ
hàm đ m tr v s l ế ả ề ố ượ ng ph n t có giá tr b ng giá tr cho tr ầ ử ị ằ ị ướ c
hàm li t kê: t ệ ươ ự g t hàm trên, m i khi g p a[i] b ng x thì in v trí ra (v trí là i) ỗ ặ ằ ị ị
Code C++ đây th c hành nào: ự
Trang 26#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];
void LietKe(int a[], int n, int x) {
for (int i = 0; i < n; i++) if (a[i] == x) cout << i << " ";
void NhapMang(int a[], int &n){
cout << "Nhap N = "; cin >> n;
for (int i = 0; i < n ; i++){
cout << "a[" << i << "] = "; cin >> a[i];
}
}
Trang 27int TimKiem(int a[], int n, int x) {
for (int i=0; i < n; i++) if(a[i]==x) return 1;
cout << "Gia tri tim kiem = "; cin >> x;
if( TimKiem (a, n, x) ){
Tr ướ c h t l y 287 (s l n h n trong 2 s ) chia cho 91: ế ấ ố ớ ơ ố
287 = 91*3 + 14 (91 & 14 s đ ẽ ượ c dùng cho vòng l p k ) ặ ế
Nh n xét: b t kỳ s nào chia h t b i 287 và 91 cũng s chia h t b i 287 - 91*3 = 14 T ậ ấ ố ế ở ẽ ế ở ươ ng
t , s chia h t b i 91 và 14 cũng chia h t b i 91*3 + 14 = 287 Do đó, SCLN(91,287) = ự ố ế ở ế ở Ư SCLN(91,14) Bài toán tr thành tìm SCLN(91,14) L p l i quy trình trên cho đ n khi phép
chia không còn s d nh sau: ố ư ư
91 = 14*6 + 7 (14 & 7 s đ ẽ ượ c dùng cho vòng l p k ) ặ ế
Trang 28int x= abs(a), y= abs(b), r;
Mu n tìm b i s chung nh nh t c a hai s a,b ta tìm ố ộ ố ỏ ấ ủ ố ướ ố c s chung l n nh t c a a và b Sau ớ ấ ủ
đó l y tích a*b chia cho ấ ướ ố c s chung đó.
cout<<"Nhap a,b"; cin>>a>>b;
int x= abs(a), y= abs(b), r;
while (y!=0)
{
r=x%y;
x= y;
Trang 29Bài t p: ậ Nh p m ng n ph n t s nguyên, nh p giá tr m, in ra màn hình các s không ậ ả ầ ử ố ậ ị ố
l n h n m theo th t tăng d n, các s còn l i theo th t gi m d n ớ ơ ứ ự ầ ố ạ ứ ự ả ầ
Phân tích: Cho m t ví d đ các b n hi u yêu c u nhé: Gi s m ng nh p vào có 10 ph n t ộ ụ ể ạ ể ầ ả ử ả ậ ầ ử là: 2 9 8 3 7 4 6 5 1 0 và m là 6 thì c n ph i in ra: 0 1 2 3 4 5 6 9 8 7 ầ ả
Bài này có nhi u cách gi i, sau đây là 1 cách: ề ả
+khai báo m ng, khai báo bi n s l ả ế ố ươ ng n, khai báo bi n m ế
+Nh p m ng: nh p n, nh p n ph n t ậ ả ậ ậ ầ ử
+nh p m ậ
+s p x p toàn b m ng theo th t tăng d n ắ ế ộ ả ứ ự ầ
+tìm k là v trí ph n t bé nh t trong m ng đã s p x p nh ng l n h n m ị ầ ử ấ ả ắ ế ư ớ ơ
+t k đ n cu i m ng: s p x p gi m d n (có th dùng thu t toán soi g ừ ế ố ả ắ ế ả ầ ể ậ ươ ng đây) ở
+in m ng ra màn hình s đ ả ẽ ượ c k t qu mong mu n ế ả ố
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++){
Trang 30void liet_ke(int a[], int n){
for(int i=0; i<n; i++)
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;
Trang 31Bài 6 Vi t m t ch ế ộ ươ ng trình nh p vào t bàn phím đi m ki m tra c a m t môn h c c a n ậ ừ ể ể ủ ộ ọ ủ
h c sinh và in k t qu ra màn hình d ọ ế ả ướ ạ i d ng hai c t song song, m t c t là đi m và c t th ộ ộ ộ ể ộ ứ hai là x p lo i theo đi m v i các qui đ nh sau: ế ạ ể ớ ị
Trang 32ki m theo thu t toán tìm ki m nh phân n u th y báo s l ế ậ ế ị ế ấ ố ượ ng tìm th y, v trí tìm ấ ị
th y, ng ấ ượ ạ c l i thông báo không th y Sau khi tìm xong, h i có tìm n a khôg? n u tìm ấ ỏ ữ ế
n a thì l i nh p m, r i tìm y chang nh trên c th cho đ n khi tr l i là không ữ ạ ậ ồ ư ứ ế ế ả ờ
mu n tìm n a thì thôi ố ữ
Và đây là Code hoàn thi n ghép n i các module trê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 SapXep_TangDan(int a[], int n){
for(int i=0; i<n-1; i++)
Trang 33int KiemTra_TangDan (int a[], int n){
for( int i = 0; i < n - 1; i ++ ) if ( a[i] > a[i+1] ) return 0;
Chú ý là bài trên ch a có tìm s l ư ố ượ ng.
và cũng ch a làm đ ư ượ c "Sau khi tìm xong, h i có tìm n a khôg? n u tìm n a thì l i nh p m, ỏ ữ ế ữ ạ ậ
r i tìm y chang nh trên c th cho đ n khi tr l i là không mu n tìm n a thì thôi" ồ ư ứ ế ế ả ờ ố ữ
Gi i quy t bài toán ki u " ả ế ể Sau khi tìm xong, h i có tìm n a khôg? n u tìm n a thì l i nh p ỏ ữ ế ữ ạ ậ
m, r i tìm y chang nh trên c th cho đ n khi tr l i là không mu n tìm n a thì ồ ư ứ ế ế ả ờ ố ữ thôi"
c th cho bài trên ụ ể
cout << "Mang sap xep tang dan:";
for(i = 0; i < n; i++) cout << a[i] << " ";
cout << endl;
Trang 34đ t công vi c c n làm trong vòng l p ki m tra sau do - while ặ ệ ầ ặ ể
khi làm xong công vi c thì h i l i ng ệ ỏ ạ ườ i dùng có mu n ch y l i không? (c/k) ố ạ ạ
Trang 35Nh p m ng n ph n t s nguyên, tìm giá tr ph n t xu t hi n nhi u nh t trong m ng, ậ ả ầ ử ố ị ầ ử ấ ệ ề ấ ả
n u có nhi u giá tr khác nhau cùng xu t hi n nhi u nh t thì li t kê h t các giá tr đó ra ế ề ị ấ ệ ề ấ ệ ế ị
sau khi có m ng n ph n t s nguyên ả ầ ử ố
ta s p x p ắ ế tăng d n ầ (ho c ặ gi m d n ả ầ cũng OK) m ng đó ả
khi đó cũng dùng m ng đ m ả ế d đ l u s l n xu t hi n c a t ng ph n t (ch này có khác đi 1 ể ư ố ầ ấ ệ ủ ừ ầ ử ỗ
tí đ d dàng vi c lo i b giá tr l p h n ể ễ ệ ạ ỏ ị ặ ơ
b ng cách duy t t đ u đ n h t m ng đã s p x p ằ ệ ừ ầ ế ế ả ắ ế
m i khi g p giá tr trùng (trùng thì đ ng c nh nhau do đã s p x p) thì tăng s bi n đ m thôi ỗ ặ ị ứ ạ ắ ế ố ế ế d[0]=1;
for( i = 1; i < n; i++ ) d[i] = ( a[i]==a[i-1] ) ? d[i-1]+1 : 1 ;
khi đó tìm max = giá tr max trong m ng d ị ả
r i li t kê l i các giá tr a[k] t ồ ệ ạ ị ươ ng ng v i d[k] có giá tr b ng max ứ ớ ị ằ
Các b n cùng phân tích nhé! OK? ạ
Code:
#include <iostream.h>
void NhapMang(int *a, int &n){
cout << "Nhap N = "; cin >> n;
Trang 36void SapXep_TangDan(int a[], int n){
for(int i=0; i<n-1; i++)
Trang 37#include<math.h>
int main()
{
int a,b; //hai toan hang a,b
char ch;//dau cua phep toan
cout<<"Khong thuc hien phep chia";