O‘zbеkiston rеspublikasi oliy va o‘rta maxsus ta’lim vazirligi andijon davlat univеrsitеti axborot tеxnologiyalari va kompyutеr injiniringi fakultеti axborot tеxnologiyalari kafеdrasi kurs ishi


C da tasodifiy sonlarni qanday hosil qilish kerak


Download 0.53 Mb.
bet7/12
Sana30.04.2023
Hajmi0.53 Mb.
#1416402
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
418-guruh Shamsuddinov Sh

C da tasodifiy sonlarni qanday hosil qilish kerak.


Buning eng oson yo'li C da tasodifiy sonlarni hosil qiling. funktsiyasidan foydalanishdir rand() de C. Siz tasodifiy 0 va doimiy RAND_MAX o'rtasidagi raqamni yaratishga imkon beradi (ANSI C ga ko'ra 32676 dan katta yoki unga teng qiymat bo'lishi kerak). 0 va ixtiyoriy (chiqarib tashlangan) raqam o'rtasidagi qiymatni olish uchun% operatoridan foydalaning. Masalan, 0 va 101 orasidagi tasodifiy sonni olish uchun quyidagi koddan foydalanish kerak.int cas = rand() % 101;
Biroq, ushbu funktsiyani chaqirishdan oldin, dasturni har safar ishga tushirilganda o'zgartiriladigan yolg'on tasodifiy sonni yaratish uchun "sozlash" kerak: bu natija funktsiya orqali olinadi srand (C standart kutubxonasida mavjud, stdlib.h ), bu raqamni tasodifiy yaratish uchun argument sifatida "urug '" ni qabul qiladi. Qiymatlarning takrorlanishini minimallashtirish uchun joriy vaqt urug' sifatida ishlatilishi mumkin (uni funktsiya orqali olish mumkin vaqt () kutubxonadan vaqt.h ).
Ushbu yangi ehtiyoj tufayli, yuqorida ko'rib chiqilgan kod qanday o'zgartiriladi.
#include
#include
//definizione della funzione
int numCas;
srand(time(NULL));
numCas = rand() % 101;
Agar xohlasangiz, C funktsiyasini quyidagi funktsiyadan foydalanib maksimal va minimal qiymat o'rtasida tasodifiy sonlar hosil qilish imkoniyatiga ega bo'lishingiz mumkin.
#include
#include
int numCasuale(int, int);
int numCasuale(int min, int max){
srand(time(NULL));
return rand() % (max-min+1)+min;
}
Va nihoyat, agar siz ikkita qiymat orasidagi tasodifiy sonlarni olishga imkon beradigan ish dasturini olishni xohlasangiz, quyidagi koddan foydalanishingiz mumkin.
#include
#include
#include
int numCasuale(int, int);
int main(void){
int m1, m2, r;
printf("Inserisci il valore iniziale: ");
scanf("%d", &m1);
printf("Inserisci il valore finale: ");
scanf("%d", &m2);
r=numCasuale(m1, m2);
printf("Il numero casuale generato è: %d", r);
return 0;
}
int numCasuale(int min, int max){
srand(time(NULL));
return rand() % (max-min+1)+min;
}

Download 0.53 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling