Trang

Thứ Sáu, 18 tháng 3, 2011

Một số bài tập luyên tập

Đây chỉ là bài tập mang tính tham khảo, sẽ còn được bổ sung hay cập nhật.
1. Xây dựng hàm tìm giá trị lớn nhất trong mảng số nguyên.
 2. Xây dựng hàm tìm phần tử dương đầu tiên trong mảng
 3. Xây dựng hàm tìm phần tử âm đầu tiên trong mảng
 4. Xây dựng hàm tìm phần tử chẵn đầu tiên trong mảng
 5. Xây dựng hàm tìm phần tử lẻ đầu tiên trong mảng.
 6. Xây dựng hàm tìm phần tử chẵn cuối cùng trong mảng
 7. Xây dựng hàm tìm phần tử lẽ cuối cùng trong mảng
 8. Xây dựng hàm tìm vị trí chẵn cuối cùng trong mảng.
 9. Xây dựng hàm tìm vị trí dương đầu tiên trong mảng
 10. Xây dựng hàm tìm vị trí âm đầu tiên trong mảng
 11. Xây dựng hàm tìm vị trí chẵn đầu tiên trong mảng
 12. Xây dựng hàm tìm vị trí lẻ đầu tiên trong mảng. 13. Xây dựng hàm tìm vị trí chẵn cuối cùng trong mảng
 14. Xây dựng hàm tìm vị trí lẽ cuối cùng trong mảng
 15. Xây dựng hàm tìm vị trí chẵn cuối cùng trong mảng.
 16. Xây dựng hàm tìm vị trí số hoàn thiện cuối cùng trong mảng.
 17. Xây dựng hàm tìm số nguyên tố đầu tiên trong mảng.
 18. Xây dựng hàm tìm vị trí đầu tiên của số nguyên tố trong mảng.
 19. Xây dựng hàm tìm số nguyên tố lớn nhất trong mảng.
 20. Xây dựng hàm tìm vị trí số nguyên tố lớn nhất trong mảng.
 21. Xây dựng hàm tìm vị trí số hoàn thiện đầu tiên trong mảng.
 IV. tính tổng và trung bình
1. Xây dựng hàm tính tổng các phần tử của mảng.
 2. Xây dựng hàm tính tổng các phần tử có chỉ số lẽ
 3. Xây dựng hàm tính tổng các phần tử chẵn.
int sum_array_3(int a[MAX], int n);
4. Xây dựng hàm tính tổng các phần tử lẽ.
int sum_array_4(int a[MAX], int n);
5. Xây dựng hàm tính tổng các phần tử có chỉ số chẵn.
int sum_array_5(int a[MAX], int n);
6. Xây dựng hàm tính tổng các phần tử chia hết cho 3
int sum_array_6(int a[MAX], int n);
7. Xây dựng hàm tính tổng các phần tử có chỉ số chia hết cho 3.
int sum_array_7(int a[MAX], int n);
8. Xây dựng hàm tính tổng các phần tử mảng là số nguyên tố.
int sum_array_8(int a[MAX], int n);
9. Xây dựng hàm tính tổng các phần tử vừa chia hết cho 5 và chia hết cho 10
int sum_array_9(int a[MAX], int n);
10. Xây dựng hàm tính tổng các phần tử mảng lớn hơn X.
int sum_array_10(int a[MAX], int n);
11. Xây dựng hàm tính tổng các phân tử mảng nhỏ hơn X.
int sum_array_11(int a[MAX], int n);
12. Xây dựng hàm tính tổng các phần tử chia hết cho X
int sum_array_12(int a[MAX], int n);
13. Xây dựng hàm tính tổng các phần tử không chia hết cho X
int sum_array_13(int a[MAX], int n);
14. Xây dựng hàm tính tổng các phần tử chính phương của mảng.
int sum_array_14(int a[MAX], int n);
15. Xây dựng hàm tính tổng các phần tử chính phương của mảng.
int sum_array_15(int a[MAX], int n);
16. Xây dựng hàm tính trung bình các phần tử mảng.
float average_array_1(int a[MAX], int n);
17. Xây dựng hàm tính trung bình các phần tử có chỉ số lẽ
float average_array_2(int a[MAX], int n);
18. Xây dựng hàm tính trung bình các phần tử chẵn.
float average_array_3(int a[MAX], int n);
19. Xây dựng hàm tính trung bình các phần tử lẽ.
float average_array_4(int a[MAX], int n);
20. Xây dựng hàm tính trung bình các phần tử có chỉ số chẵn.
float average_array_5(int a[MAX], int n);
21. Xây dựng hàm tính trung bình các phần tử chia hết cho 3
float average_array_6(int a[MAX], int n);
22. Xây dựng hàm tính trung bình các phần tử có chỉ số chia hết cho 3.
float average_array_7(int a[MAX], int n);
23. Xây dựng hàm tính trung bình các phần tử mảng là số nguyên tố.
float average_array_8(int a[MAX], int n);
24. Xây dựng hàm tính trung bình các phần tử vừa chia hết cho 5 và chia hết cho 10
float average_array_9(int a[MAX], int n);
25. Xây dựng hàm tính trung bình các phần tử mảng lớn hơn X.
float average_array_10(int a[MAX], int n, int X);
26. Xây dựng hàm tính trung bình các phân tử mảng nhỏ hơn X.
float average_array_11(int a[MAX], int n, int X);
27. Xây dựng hàm tính trung bình các phần tử chia hết cho X
float average_array_12(int a[MAX], int n, int X);
28. Xây dựng hàm tính trung bình các phần tử không chia hết cho X
float average_array_13(int a[MAX], int n, int X);
V. Các kỹ thuật đếm
1. Xây dựng hàm đếm các phần tử chẵn
int count_array_1(int a[MAX], int n);
2. Xây dựng hàm đếm các phần tử lẽ.
int count_array_2(int a[MAX], int n);
3. Xây dựng hàm điếm các phần tử chẵn.
int count_array_3(int a[MAX], int n);
4. Xây dựng hàm đếm các phần tử lẽ
int count_array_4(int a[MAX], int n);
5. Xây dựng hàm đếm các phần tử chia hết cho 3
int count_array_5(int a[MAX], int n);
6. Xây dựng hàm đếm các phần tử chia hết cho 3 hoặc chia hết cho 5.
int count_array_6(int a[MAX], int n);
7. Xây dựng hàm đếm các phần tử dương chia hết cho 3
int count_array_7(int a[MAX], int n);
8. Xây dựng hàm đểm các phần tử âm chia hết cho 2
int count_array_8(int a[MAX], int n, int X);
9. Xây dựng hàm đếm số lần xuất hiện của phần tử X.
int count_array_9(int a[MAX], int n);
10. Xây dựng hàm đểm trong mảng xem có bao nhiêu số nguyên tố.
int count_array_10(int a[MAX], int n);
11. Xây dựng hàm đếm trong mảng có bao nhiêu số hoàn thiện.
int count_array_11(int a[MAX], int n);
VI. Các thao tác thêm phần tử vào mảng
1. Xây dựng hàm thêm một phần tử(K) vào đầu mảng.
int add_array_1(int a[MAX], int n, int K);
2. Xây dựng hàm thêm một phần tử(K) vào cuối mảng.
int add_array_2(int a[MAX], int n, int K);
3. Xây dựng hàm thêm một phần tử(K) vào sau phần tử X.
int add_array_3(int a[MAX], int n, int K, int X);
4. Xây dựng hàm thêm một phần tử(K) vào vị trí sau M
int add_array_4(int a[MAX], int n, int K, int M);
5. Xây dựng hàm thêm một phần tử(K) vào mảng đã sắp xếp sao cho mảng không đổi thứ tự sắp xếp.
int add_array_5(int a[MAX], int n, int K);
VII. Các thao tác xóa một phần tử mảng
1. Xây dựng hàm xóa phần tử cuối cùng của mảng
int del_array_1(int a[MAX], int n);
2. Xây dựng hàm xóa phần tử đầu tiên của mảng.
int del_array_2(int a[MAX], int n);
3. Xây dựng hàm xóa phần tử sau phần tử X
int del_array_3(int a[MAX], int n, int X);
4. Xây dựng hàm xóa phần tử sau vị trị M
int del_array_4(int a[MAX], int n, int M);
5. Xây dựng hàm xóa các phần tử có giá trị trong mảng trùng nhau.
int del_array_5(int a[MAX], int n);
6. Xây dựng hàm xóa các phần tử mảng chia hết cho 3.
int del_array_6(int a[MAX], int n);
7. Xây dựng hàm xóa các phần tử mảng có giá trị âm.
int del_array_7(int a[MAX], int n);
8. Xây dựng hàm xóa các phần tử có giá trị dương.
int del_array_8(int a[MAX], int n);
9. Xây dựng hàm xóa các phần tử không phải là số nguyên tố.
int del_array_9(int a[MAX], int n);
10. Xây dựng hàm xóa các phần tử là số nguyên tố.
int del_array_10(int a[MAX], int n);
VIII. Các thao tác sao chép mảng(5 bài)
1. Xây dựng hàm sao chép giá các phần tử của mảng a vào mảng b.
type_array copy_array_1(int a[MAX], int n);
2. Xây dựng hàm sao chép các phân tử có giá trị chẵn vào mảng khác.
type_array copy_array_2(int a[MAX], int n);
3. Xây dựng hàm sao chép các phần tử có giá trị lẽ vào mảng khác.
type_array copy_array_3(int a[MAX], int n);
4. Xây dựng hàm sao chép các phần tử có giá trị chia hết cho 2 và cho 3 vào mảng khác.
type_array copy_array_2(int a[MAX], int n);
5. Xây dựng hàm sao chép các phần tử của mảng có chỉ số chia hết cho 3 vào mảng khác.
type_array copy_array_2(int a[MAX], int n);
IX. Các thao tác ghép mảng(7 bài)
1. Xây dựng hàm ghép hai mảng a và b thành một mảng c.
type_array merge_array(int a[MAX], int n, int b[MAX], int m);
2. Xây dựng hàm ghép mảng b vào mảng a.
type_array merge_array(int a[MAX], int n, int b[MAX], int m);
3. Xây dựng hàm ghép mảng b vào mảng a mà các phần tử mảng a vẫn được sắp xếp theo thứ tự tăng dần(mảng a là mảng được sắp xếp tăng).
type_array merge_array(int a[MAX], int n, int b[MAX], int m);
4. Xây dựng hàm ghép mảng b vào mảng a mà các phần tử mảng a vẫn được sắp xếp theo thứ tự giảm dần(mảng a là mảng được sắp xếp giảm).
type_array merge_array(int a[MAX], int n, int b[MAX], int m);
5. Xây dựng hàm ghép hai mảng a và b sao cho các phần tử sau khi ghép được sắp xếp theo thứ tự tăng.
type_array merge_array(int a[MAX], int n, int b[MAX], int m);
6. Xây dựng hàm ghép hai mảng a và b sao cho các phần tử sau khi ghép được sắp xếp giảm dần.
type_array merge_array(int a[MAX], int n, int b[MAX], int m);
7. Xây dựng hàm ghép hai mảng a và b sao cho các phần tử của mảng a và mảng b được sắp xếp đan xen nhau(Chú ý: Nếu hai mảng có số phần tử khác nhau thì các phần tử còn lại của mảng có nhiều phần tử hơn được đưa vào sau).
type_array merge_array(int a[MAX], int n, int b[MAX], int m);
MỘT SỐ BÀI TẬP VỀ DANH SÁCH LIÊN KẾT

Bài 1: Hãy tạo danh sách liên kết, mỗi phần tử của danh sách lưu trữ một số nguyên
1. Xây dựng hàm tạo phần tử và tạo danh sách liên kết đơn.
2. Xây dựng hàm tạo danh sách liên kết đơn bằng cách tự động nhập random
3. Xây dựng hàm xóa các phần tử trùng trên dslk đơn
4. Xây dựng hàm thêm 1 phần tử vào cuối danh sách liên kết đơn
5. Xây dựng hàm thêm 1 phần tử vào đầu danh sách liên kết đơn
6. Xây dựng hàm thêm phần tử y vào trước phần tử x trên danh sách liên kết đơn
7. Xây dựng hàm thêm phần tử y sau phần tử x trên danh sách liên kết đơn
8. Xây dựng hàm xóa phần tử trước phần tử X và xóa sau phần tử X
9. Xây dựng hàm xóa phần tử có giá trị x trên danh sách liên kết đơn
10. Xây dựng hàm xóa đầu, xóa cuối trên danh sách liên kết đơn
11. Xây dựng hàm tìm phần tử lớn nhất (max) trên danh sách liên kết
12. Xây dựng hàm viết hàm tìm phần tử X trong danh sach lien ket
13. Xây dựng hàm nối 2 danh sách liên kết đơn
14. Xây dựng hàm tách danh sách liên kết đơn
15. Xây dựng hàm cộng liên tiếp 2 phần tử trên danh sách liên kết đơn
16. Xây dựng hàm tìm phần tử chẵn lớn nhất, lớn hơn phần tử lẽ lớn nhất trên dslk đơn
17. Xây dựng hàm đảo ngược danh sách liên kết đơn
18. Xây dựng hàm xóa phần tử nhỏ nhất trên dslk đơn
19. Xây dựng hàm tìm phần tử lẽ cuối cùng và thêm 1 phần tử X trước phần tử đó trên dslk đơn
20. Xây dựng hàm tìm phần tử chẵn đầu tiên và thêm 1 phần tử X trước phần tử đó trên dslk đơn
21. Xây dựng hàm kiểm tra, đếm và in các số nguyên tố ra màn hình
22. Xây dựng hàm tính tổng các phần tử trên dslk đơn
23. Xây dựng hàm liệt kê tất cả các số âm trên dslk đơn
24. Xây dựng hàm sao chép các phần tử trên danh sách liên kết đơn
25. Xây dựng hàm xóa toàn bộ các phần tử trên dslk đơn
Bài 2: Hãy tạo danh sách liên kết, mỗi phần tử của danh sách lưu trữ thông tin của sinh viên(Họ tên, điểm)
1. Xây dựng hàm tạo danh sách sinh viên.
2. Xây dựng hàm tạo danh sách liên kết không có 2 sinh viên trùng tên
3. Xây dựng hàm thêm 1 sinh viên vào cuối danh sách liên kết đơn
4. Xây dựng hàm thêm 1 sinh viên vào đầu danh sách liên kết đơn
5. Xây dựng hàm thêm 1 sinh viên vào trước sinh viên x trên danh sách liên kết đơn
6. Xây dựng hàm thêm 1 sinh viên vào sau sinh viên x trên danh sách liên kết đơn
7. Xây dựng hàm xóa 1 sinh viên trước sinh viên X và xóa sau sinh viên X
8. Xây dựng hàm xóa 1 sinh viên có tên x trên danh sách liên kết đơn
9. Xây dựng hàm xóa 1 sinh viên đầu, xóa cuối trên danh sách liên kết đơn
10. Xây dựng hàm tìm sinh viên có điểm cao nhất trên danh sách liên kết.
11. Xây dựng hàm sắp xếp các sinh viên trong danh sách liên kết theo tên sinh viên.
12. Xây dựng hàm in ra sinh viên có điểm lớn nhất.
13. Xây dựng hàm in ra danh sách các sinh viên có điểm lớn hơn 5.

Không có nhận xét nào:

Đăng nhận xét