Hiển thị các bài đăng có nhãn code. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn code. Hiển thị tất cả bài đăng

ĐỀ THI TỐT NGHIỆP(LẦN 1) KHÓA VII(2007-2010)




Đáp áp


Đáp án:câu 1: b)


Đáp án: câu 2

Do câu 3 ma trận không có trong đề ôn thi tốt nghiệp
của thầy thái.nên mình không đề cặp tới
Đáp án: câu 4: a)
Đáp án: câu 4: b),c)






Phát sinh ngẫu nhiên ( C++ )

Việc phát sinh số ngẫu nhiên là cần thiết khi chúng ta cần test chương trình. Việc tạo số ngẫu nhiên trong C++ cũng khá đơn giản. Thư viện chuẩn của C++ cung cấp môt hàm gọi là rand () trong cstdlib.h . Bài viết này sẽ giúp chúng ta hiểu hơn về chức năng tạo số ngẫu nhiên trong C++.

1. Tạo một số ngẫu nhiên:

Hàm rand() trả về một số nguyên nằm trong dãy [0, RAND_MAX], với RAND_MAX là một hằng số được định nghĩa trước. Hãy xem ví dụ bên dưới:
CODE:
// First example
#include
#include

using namespace std;

int main()
{
    int r0 = rand();
    int r1 = rand();
    int r2 = rand();
    int r3 = rand();
    int r4 = rand();

    cout<< "r0 = "<< r0 << endl;
    cout<< "r1 = "<< r1 << endl;
    cout<< "r2 = "<< r2 << endl;
    cout<< "r3 = "<< r3 << endl;
    cout<< "r4 = "<< r4 << endl;

    system("pause");
    return 0;
}

- Output là:






- Nhưng sau khi chạy nhiều lần chương trình trên, bạn vẫn nhận được một output như lúc đầu. Vấn đề này sẽ được giải quyết trong mục 2.

2. Tạo một số ngẫu nhiên thay đổi theo thời gian

- Để tạo một số ngẫu nhiêu sau thay đổi khác nhau trong những lần chạy, bạn sử dụng hàm time (có trong #include ctime). Theo như thư viện MSDN (Microsoft Developers Network) nói rằng: time trả về số của giây được trôi qua được tính từ nữa đêm (00:00:00), ngày 1, tháng 1, năm 1970 theo UTC . (“The time function returns the number of seconds elapsed since midnight (00:00:00), January 1, 1970, coordinated universal time (UTC), according to the system clock”).

- Các số ngẫu nhiên giả được tạo ra bắt đầu từ thời điểm bạn thiết lập sử dụng hàm srand. Dòng code dưới đây thiết lập điểm bắt đầu của thời gian hiện hành.


CODE:
srand(time(0));



- Giá trị được trả về từ time là qua srand. Lưu ý rằng số ngẫu nhiên được tạo ra trước lời gọi rand.

Ví dụ với chương trình đầu tiên: chúng ta thêm srand(time(0)) trước lời gọi rand().


CODE:
// Second example
#include
#include
#include

using namespace std;

int main()
{
    srand(time(0));
    int r0 = rand();
    int r1 = rand();
    int r2 = rand();
    int r3 = rand();
    int r4 = rand();

    cout<< "r0 = "<< r0 << endl;
    cout<< "r1 = "<< r1 << endl;
    cout<< "r2 = "<< r2 << endl;
    cout<< "r3 = "<< r3 << endl;
    cout<< "r4 = "<< r4 << endl;

    system("pause");
    return 0;
}



- Output lần đầu:


Enlarge this image 


- Output lần 2:


Enlarge this image 


- Output lần 3:


Enlarge this image 


3. Tạo số ngẫu nhiên nằm trong dãy xác định (Specifying the range)

- Thông thường, một số ngẫu nhiên nằm trong dãy [0, RAND_MAX] không được mô tả. Đúng hơn là chúng ta không thích một dãy được xác định. Một số ngẫu nhiên trong dãy [0, n – 1] có thể được xác định bằng cách sử dụng toán tử % (modulus). Ví dụ như sinh ra một số ngẫu nhiên trong dãy [0, 21], thì bạn có thể viết như sau:


CODE:
int num = rand();
int val = num % 22;


- Hoặc có thể viết một cách mạch lạc hơn là:


CODE:
int num = rand() % 22;



- Khi chúng ta cần một dãy không bắt đầu từ 0. Ví dụ như sinh một số ngẫu nhiên nằm trong dãy [22, 100] thì phải làm sao? Chúng ta có thể thực hiện một cách khá đơn giản theo công thức

Để tạo một số ngẫu nhiên trong dãy [a, b] ta sử dụng công thức:


CODE:
a + rand() % (b – a + 1)


Như muốn sinh một số ngẫu nhiên từ dãy [22, 100] ta viết như sau:


CODE:
int num = 22 + rand() % (100 – 22 + 1);




hay đúng hơn là:


CODE:
int num = 22 + rand() % (79);


Bài viết của : blackrose4s trên URL : http://cnttdhsupham.forumotion.com/t2062-topic
(Tham khảo Frank Luna,C++ Programming for Games – Module I)

MA TRẬN ( ĐƯỜNG CHÉO CHÍNH VÀ ĐƯỜNG CHÉO PHỤ )

Bài 47


Bài 47: Nhập vào giá trị X, viết hàm xóa tất cả các phần tử có giá trị nhỏ hơn X .






    Bài 46


    Bài 46: Viết hàm xóa phần tử lớn nhất trong mảng .






      Bài 45


      Bài 45: Viết hàm xóa phần tử tại vị trí lẻ trong mảng.






        Bài 44




        Bài 44: Viết hàm sắp xếp giảm dần các phần tử là số chẵn trong mảng .





        Bài tập tương tự:

        • Viết hàm sắp xếp tăng dần các phần tử là số chẵn trong mảng .

        Bài 43




        Bài 43: Viết hàm sắp xếp tăng dần các phần tử lẻ trong mảng .





        Bài tập tương tự:

        • Viết hàm sắp xếp giảm dần các phần tử lẻ trong mảng 

        Bài 42




        Bài 42: Viết hàm sắp xếp tăng dần các phần tử là số nguyên tố trong mảng .





        Bài tập tương tự:

        • Viết hàm sắp xếp giảm dần các phần tử là số nguyên tố trong mảng

        Bài 41




        Bài 41: Viết hàm sắp xếp mảng theo thứ tự giảm dần .





        Bài tập tương tự:

        • Viết hàm sắp xếp mảng theo thứ tự tăng dần

        Bài 40




        Bài 40: Viết hàm tính trung bình cộng các phần tử là số hoàn thiện trong mảng .







          Bài 39




          Bài 39: Viết hàm tính tổng các phần tử là số hoàn thiện trong mảng .







            Bài 38




            Bài 38: Viết hàm tính tổng các phần tử là bội của 3 và 5.







              Bài 32




              Bài 32: Viết hàm tính tổng các phần tử nguyên tố trong mảng .







                Bài 36




                Bài 36: Viết hàm tính tổng các phần tử cực đại trong mảng các số nguyên ( phần tử cực đại là phần tử lớn hơn các phần tử xung quanh nó ) .
                Vd:                      1 5 2 6 3 5 1 8 6





                Bài tập tương tự:

                • Viết hàm tính tổng các phần tử cực tiểu trong mảng các số nguyên ( phần tử cực tiểu là phần tử nhỏ hơn các phần tử xung quanh nó ) .

                Bài 35




                Bài 35: Viết hàm tính tổng các phần tử chia hết cho 5 .







                  Bài 34




                  Bài 34: Viết hàm tính tổng các phần tử ở vị trí nguyên tố trong mảng .







                    Bài 33




                    Bài 33: Viết hàm tính tổng các phần tử ở vị trí chẵn trong mảng .




                    Bài tập tương tự:

                    • Viết hàm tính tổng các phần tử ở vị trí lẻ trong mảng các số nguyên