ลองดูวิธีสร้างตัวเลขสุ่มด้วย C++ ที่นี่เรากำลังสร้างตัวเลขสุ่มในช่วง 0 ถึงค่าบางค่า (ในโปรแกรมนี้ค่าสูงสุดคือ 100)
เพื่อดำเนินการนี้เราใช้ฟังก์ชัน srand() ซึ่งอยู่ในไลบรารี C ฟังก์ชัน void srand(unsigned int seed) ใช้สำหรับ seeding ตัวสร้างตัวเลขสุ่มที่ใช้โดยฟังก์ชัน rand
การประกาศ srand() เป็นดังนี้
void srand(unsigned int seed)
รับพารามิเตอร์ชื่อ seed เป็นค่าจำนวนเต็มที่ใช้เป็น seed โดยอัลกอริทึมสุ่มปลอม (pseudo-random number generator algorithm) ฟังก์ชันนี้ไม่คืนค่าอะไร
เพื่อรับตัวเลขเราต้องใช้เมธอด rand() เพื่อรับตัวเลขในช่วง 0 ถึง max เราใช้ modulus operator เพื่อหาเศษ
สำหรับค่า seed เราให้ผลลัพธ์ของฟังก์ชัน time(0) เข้าไปในฟังก์ชัน srand()
โค้ดตัวอย่าง
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
int max = 100;
srand(time(0));
cout << "The random number is: " << rand() % max;
}
ผลลัพธ์ตัวอย่าง
The random number is: 51
The random number is: 29
The random number is: 47