C Dilinde Rastgele Sayı Üretmek

0

C Dilinde Rastgele Sayı üretmek için  rand(); fonksiyonu kullanılır bunun içinde <stdlib.h> kütüphanesi tanımlamak gerekir fakat asıl sorun her defasında aynı sayıyı üretmesi yada belli bir aralıkta sayı üretme sorunudur.Bunları tek tek ele alacağız önce rastgele sayı üreticez daha sonra 0 ile bir sayı arasında sayi üreticez en sonundada istediğimiz iki sayı arasında bir sayı üretip konuyu bitireceğiz 🙂

/* Ahmet GÜREL
www.gurelahmet.com | twitter.com/ahmettgurell
[email protected] */

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int main()
{

int rastgele; 
rastgele=rand();

printf("%d",rastgele);
return 0;
getch();

}

Yukarıdaki kod blogunda kütüphaneleri tanımladıktan sonra rand fonksiyonu ile rastgele sayı üretip ekrana yazdırdık fakat bu sayı için herhangi bir aralık kullanmadık.Şimdide 0 ile 25 arasında rastgele sayı üreten kodu yazalım.

/* Ahmet GÜREL
[email protected] */

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int main()
{

int rastgele; 
rastgele=rand()%25;

printf("%d",rastgele);
return 0;
getch();

}

Bir önceki kodtan tek farki rand fonksiyonu % ile istediğimiz aralığa getirdik tabi ki bu aralık bu kod için 0 ile 25 arasında  bu sadece 0 dan istediğimiz bir sayıya kadar rastgele üretir bunu 5 ile 25 arasında rastgele sayı üretmek için kullanalım.

/* Ahmet GÜREL
www.gurelahmet.com | twitter.com/ahmettgurell
[email protected] */

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int main()
{

int rastgele; 
rastgele=5+rand()%20;

printf("%d",rastgele);
return 0;
getch();

}

Şimdi ele alacağımız bu yapı 5 ile 25 arasında sayı üretiyor üstte ki mantığı anladıysanız bu kısım çok daha basit rand()%20 ifadesi 0 ile 20 arasında sayı üretiyor bu üretilen sayıyıda önundekı 5 ile topluyoruz mantığı bu hangı sayı üretilirse 5 ekliyor 0 üretse sayı 5 oluyor 15 üretse 20 oluyor fakat en önemli kısım yazdıgımız tüm bu kodlar programı kaç kere çalıştırırsanız çalıştırın aynı sayıyı üretiyor her defasında farklı sayı üretmek içinde aşağıdaki kod bloğunu kullanıyoruz.

/* Ahmet GÜREL
www.gurelahmet.com | www.twitter.com/ahmettgurell
[email protected] */

#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>

int main()
{

int rastgele;
srand(time(NULL)); 
rastgele=5+rand()%25;

printf("%d",rastgele);
return 0;
getch();

}

Yukarıdaki yeni bir kütüphane olan <time.h> kütüphanesini ekleyerek srand(time(NULL)); bu kod satırını eklediğimizde program her defasında farklı bir sayıyı üretmiş olacak C dilinde rastgele sayı üretmek böyle diğer dillerdede bu yapı çok farklı değil bazı küçük farklılıklar oluyor sadece yazımız burada bitiyor başka bir yazıyla görüşmek üzere 🙂


Ahmet Gürel

Cyber Security Researcher | Penetration Tester

6 Comments

  1. Bu paylaşımı çok yararlı buldum teşekkürler…

  2. Teşekkürler hocam gerçekten çok işime yaradı.

  3. Mert Can Reply to Mert

    Negatif sayıları nasıl üretiriz hocam ?

  4. negatif sayıları da içeren rastgele sayıları nasıl üretiriz?

  5. sayıyı üretin sonra başına eksi koyun

Leave a Reply