1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bài tập lập trình - Bài 1: Viết chương trình nhập từ bàn phím docx

76 984 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 76
Dung lượng 331,81 KB

Nội dung

#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 1

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 đ 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 3

Bà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 4

int 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 5

dò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 6

tuananhk43

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 8

Bà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 10

S 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 11

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;

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 12

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;

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 13

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 ế

Trang 14

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";

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 17

void 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 18

void 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 19

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

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 20

cin >> *(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 21

v 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 22

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

+đ 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 23

v 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 24

TimMinMax (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 25

cout << "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 27

int 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 28

int 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 29

Bà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 30

void 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 31

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: ế ạ ể ớ ị

Trang 32

ki 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 33

int 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 35

Nh 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 36

void 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";

Ngày đăng: 09/08/2014, 20:21

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w