C ++ srand () - Perpustakaan Standard C ++

Fungsi srand () dalam C ++ menghasilkan penjana nombor rawak semu yang digunakan oleh fungsi rand ().

Fungsi srand () dalam C ++ menghasilkan penjana nombor rawak semu yang digunakan oleh fungsi rand (). Fungsi seed for rand () adalah 1 secara lalai.

Ini bermaksud bahawa jika tidak ada srand () yang disebut sebelum rand (), fungsi rand () berperilaku seolah-olah diunggulkan dengan srand (1).

prototaip srand ()

 batal srand (int intigned);

Fungsi srand () mengambil bilangan bulat tanpa tanda sebagai parameternya yang digunakan sebagai benih oleh fungsi rand ().

Ia ditakrifkan dalam fail tajuk.

srand () Parameter

  • biji: Nilai biji jenis int yang tidak ditandatangani

srand () Nilai pulangan

  • Tiada

Fungsi srand () tidak mengembalikan nilai.

Contoh 1: Bagaimana fungsi srand () berfungsi?

 #include #include using namespace std; int main() ( int random = rand(); /* No srand() calls before rand(), so seed = 1*/ cout << "Seed = 1, Random number = " << random << endl; srand(5); /* Seed = 5 */ random = rand(); cout << "Seed = 5, Random number = " << random << endl; return 0; )

Semasa anda menjalankan program, outputnya adalah:

 Benih = 1, Nombor rawak = 41 Benih = 5, Nombor rawak = 54

Menjadi amalan yang baik untuk menjana penjana nombor rawak semu hanya sekali pada permulaan program dan sebelum sebarang panggilan rand (). Ia tidak boleh disusun setiap kali kita perlu menghasilkan satu set nombor baru.

Amalan standard adalah menggunakan hasil panggilan ke masa (0) sebagai benih. Fungsi waktu () mengembalikan bilangan saat sejak jam 00:00, 1 Jan 1970 UTC (iaitu cap waktu unix semasa). Nilai benih berubah dengan masa. Oleh itu, setiap kali kita menjalankan program, satu set nombor rawak baru dihasilkan.

Contoh 2: fungsi srand () dengan masa ()

 #include #include #include using namespace std; int main() ( srand(time(0)); int random = rand(); cout << "Seed = " << time(0) << endl; cout << "Random number = " << random << endl; return 0; )

Semasa anda menjalankan program, outputnya adalah:

 Benih = 1485583981 Nombor rawak = 22589

Artikel menarik...