Xây dựng một ma trận ngẫu nhiêu với số trong ma trận được sinh ra ngẫu nhiêu từ 1 đến 6, và thống kê số lượng số được sinh ra trong ma trận.
Hàm rand() trong C++ cho phép chúng ta sinh ra 1 số ngẫu nhiên từ 0 đến 32767 hàm rand()%6 sẽ cho chúng ta 1 số từ 0 đến 5. Nên chúng ta muốn sinh ra 1 số từ 1 đến 6 chúng ta sử dụng 1 + rand()%6.
Chúng ta có chương trình cụ thể phía dưới
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
int main()
{
int so1,so2,so3,so4,so5,so6;
int sotha;
so1 = 0;so2 = 0; so3 = 0; so4 = 0; so5 = 0; so6 = 0;
for(int i = 0;i <= 6000 ; i++)
{
sotha = 1 + rand()%6;
cout << setw(3)<< sotha << setw(3);
if(i % 5 == 0)
cout << endl;
//dem so luong duoc tha tu dong
switch(sotha)
{
case 1: so1 ++; break;
case 2: so2 ++; break;
case 3: so3 ++; break;
case 4: so4 ++; break;
case 5: so5 ++; break;
case 6: so6 ++; break;
default: cout << “Khong hop le”;
}
}
cout << setw(10) << “\nTHONG KE SO LUONG MA TRAN DUOC THA RA LA \n”;
cout << setw(3) << “So 1 duoc tha :” << so1 << “lan \n”;
cout << setw(3) << “So 2 duoc tha :” << so2 << “lan \n”;
cout << setw(3) << “So 3 duoc tha :” << so3 << “lan \n”;
cout << setw(3) << “So 4 duoc tha :” << so4 << “lan \n”;
cout << setw(3) << “So 5 duoc tha :” << so5 << “lan \n”;
cout << setw(3) << “So 6 duoc tha :” << so6 << “lan \n”;
return 0;
}