# Đề 3: - **Câu 1**: - Tạo chương trình với hàm `main` (1đ) - Khai báo và khởi tạo mảng số nguyên `arrNumbers` với các phần tử sau: 5, 12, 7, 3, 9 (1đ) - Viết hàm `showMenu` không có giá trị trả về và không có tham số. Hàm này sẽ vẽ Menu của phần mềm như sau: (1đ) ```markdown ------------------------------------- | Array Operations | ------------------------------------- | 1. Calculate factorial | | 2. Find prime numbers | | 3. Sort in descending order | | 4. Calculate sum | | 5. Reverse array order | | 6. Calculate product | | 7. Clear screen | | 8. Exit | ------------------------------------- ``` - Viết hàm `calculateFactorial` không có giá trị trả về và có hai tham số là một mảng số nguyên `numbers` và kích thước của mảng `size`. Hàm này sẽ tính giai thừa của các số trong mảng và in ra kết quả như sau: (2đ) ```markdown ------------------------------ | Number | Factorial | ------------------------------ | 5 | 120 | | 12 | 479001600 | | 7 | 5040 | | 3 | 6 | | 9 | 362880 | ------------------------------ ``` - Viết hàm `findPrimeNumbers` không có giá trị trả về và có hai tham số là một mảng số nguyên `numbers` và kích thước của mảng `size`. Hàm này sẽ tìm và in ra những số nguyên tố trong mảng (2đ) - Viết hàm `sortDescending` không có giá trị trả về và có hai tham số là một mảng số nguyên `numbers` và kích thước của mảng `size`. Hàm này sẽ sắp xếp các số trong mảng theo chiều giảm dần và in ra kết quả (2đ) - Viết hàm `calculateSum` không có giá trị trả về và có hai tham số là một mảng số nguyên `numbers` và kích thước của mảng `size`. Hàm này sẽ tính tổng của các số trong mảng và in ra kết quả (2đ) - Viết hàm `reverseArrayOrder` không có giá trị trả về và có hai tham số là một mảng số nguyên `numbers` và kích thước của mảng `size`. Hàm này sẽ đảo ngược trật tự các phần tử trong mảng và in ra kết quả (1đ) - Viết hàm `calculateProduct` không có giá trị trả về và có hai tham số là một mảng số nguyên `numbers` và kích thước của mảng `size`. Hàm này sẽ tính tích của các số trong mảng và in ra kết quả (1đ) - **Câu 2**: - Viết chương trình chạy trong hàm `main` và triển khai các yêu cầu sau: - Hiển thị menu bằng cách gọi hàm `showMenu` khi bắt đầu chương trình. - Yêu cầu người dùng lựa chọn theo menu: - Nếu người dùng chọn 1: Gọi hàm `calculateFactorial` với tham số là mảng `arrNumbers` và kích thước của mảng để tính giai thừa của các số trong mảng và in kết quả (1đ) - Nếu người dùng chọn 2: Gọi hàm `findPrimeNumbers` với tham số là mảng `arrNumbers` và kích thước của mảng để tìm và in ra các số nguyên tố trong mảng (1đ) - Nếu người dùng chọn 3: Gọi hàm `sortDescending` với tham số là mảng `arrNumbers` và kích thước của mảng để sắp xếp các số trong mảng theo chiều giảm dần và in ra kết quả (1đ) - Nếu người dùng chọn 4: Gọi hàm `calculateSum` với tham số là mảng `arrNumbers` và kích thước của mảng để tính tổng của các số trong mảng và in kết quả (1đ) - Nếu người dùng chọn 5: Gọi hàm `reverseArrayOrder` với tham số là mảng `arrNumbers` và kích thước của mảng để đảo ngược trật tự các phần tử trong mảng và in kết quả (1đ) - Nếu người dùng chọn 6: Gọi hàm `calculateProduct` với tham số là mảng `arrNumbers` và kích thước của mảng để tính tích của các số trong mảng và in kết quả (1đ) - Nếu người dùng chọn 7: Xóa màn hình bằng cách gọi hàm tương ứng (0.5đ) - Nếu người dùng chọn 8: Kết thúc chương trình (0.5đ)