Vaznni funtlarda kiriting: 146 Uzunlikni dyumlarda kiriting: 70 TVK = 20.9486 Normal holat
Dasturda o`qishni osonlashtirish maqsadida o`zgarmaslardan foydalanilgan (16-17-satrlar).
5.3. Tasodifiy sonlarni hosil qilish Key Point. rand () funksiyasini qo`llab tasodifiy butun son olish mumkin. Faraz qilaylik, ayirish amalini hisoblashni baholovchi dastur tuzishni istaymiz. Dastur ikkita butun sonlar (son1, son2; )ni tasodifiy hosil qiladi va konsol oynada “9-2 nechi?” kabi savol chiqariladi. O`quvchi javobni kiritadi va dastur uning javobi to`g`ri yoki noto`g`ri ekanligini ko`rsatadi.
Tasodifiy sonni hosil qilish kutubxonasidagi rand () funksiyasini qo`llagan holda amalga oshiriladi. Bu funksiya 0 va RAND_MAX oralig`idan olingan biror tasodifiy sonni qaytaradi. RAND_MAX belgilab olingan o`zgarmas platformasi. Uning qiymati C++ da 32767 ga teng.
rand () sonlari oldindan aniqlangan tasodifiy sonlardir. Ya’ni, unda har doim bir xil tizim ishlaydi, rand () bir xil ketma-ketlikdagi sonlarni har gal chiqaraveradi. Shaxsiy kompyuterda, masalan, ushbu ko`rsatma satri har doim 130, 10982, va 1090 sonlarini hosil qiladi:
cout << rand() << endl << rand() << endl << rand() << endl;
Nima uchun? random () funksiyasi algoritmi tasodifiy sonlarni hosil qilishda saralangan deb nomlanuvchi qiymatlardan foydalanadi. Odatga ko`ra saralangan qiymat 1 ga teng. Agar saralangan qiymatni turli sonlar uchun aniqlasak, turli tasodifiy sonlar chiqadi. Saralangan sonni tanlash uchun kutubxonasidan srand(seed) funksiyasidan foydalaniladi. Shuning uchun har safar har xil saralangan qiymatlarni olish uchun time (0) funksiyasidan foydalanib, dasturni turli vaqtlar oraliqlarida ishga tushirish mumkin. 3-ma’ruzada korib chiqqanimizdek, time (0) funksiyasi kutubxonasidan olinai va GMT 1970-yil, 1-yanvarga o`tar kechasidan hozirgacha o`tgan vaqtni soniyalarda chiqarib beradi. Quyidagi kod tasodifiy saralashdan tasodifiy butun sonlarni olish imkonini beradi: