หากเราสร้างตัวเลขสุ่มในโปรแกรม จำเป็นต้องควบคุมลำดับของตัวเลขเหล่านั้น
ฟังก์ชัน randomize() และ srand() ใช้สำหรับกำหนดค่าเริ่มต้น (Seed) ให้ตัวสร้างตัวเลขสุ่ม
กระบวนการกำหนดค่าเริ่มต้นให้ตัวสร้างตัวเลขสุ่ม เรียกว่า "การซีด" (Seeding)
randomize() ใช้นาฬิกาของคอมพิวเตอร์เพื่อสร้างซีดแบบสุ่ม
srand() อนุญาตให้เราระบุค่าเริ่มต้นของตัวสร้างตัวเลขสุ่มเอง
โปรแกรม
โปรแกรม C เกี่ยวกับ rand:
#include <stdio.h>
int main() {
// สร้างลำดับตัวเลขสุ่มเดียวกัน ทุกครั้งที่รันโปรแกรม
for(int i = 0; i < 10; i++)
printf(" %d ", rand());
return 0;
}ผลลัพธ์
จะได้ผลลัพธ์ดังนี้:
1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421
โปรแกรม C เกี่ยวกับ srand:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// สร้างลำดับตัวเลขสุ่มต่างกัน ทุกครั้งที่รันโปรแกรม
// ใช้เวลาปัจจุบันเป็นซีดสำหรับตัวสร้างสุ่ม
srand(time(0));
for(int i = 0; i < 10; i++)
printf(" %d ", rand());
return 0;
}ผลลัพธ์
จะได้ผลลัพธ์ดังนี้:
1919778910 1203408690 1755813469 1976428341 37040990 1849384103 986990763 2040061815 391541163 1718314135