May 13, 2014

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
Süleyman Demirel University Yazılım Kulübü | Yönetim Kurulu Üyesi
Süleyman Demirel University| Computer Engineering
www.gurelahmet.com | www.twitter.com/ahmtgrll 
ahmetgurel.yazilim@gmail.com */

#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
Süleyman Demirel University Yazılım Kulübü | Yönetim Kurulu Üyesi
Süleyman Demirel University| Computer Engineering
www.gurelahmet.com | www.twitter.com/ahmtgrll 
ahmetgurel.yazilim@gmail.com */

#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
Süleyman Demirel University Yazılım Kulübü | Yönetim Kurulu Üyesi
Süleyman Demirel University| Computer Engineering
www.gurelahmet.com | www.twitter.com/ahmtgrll 
ahmetgurel.yazilim@gmail.com */

#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
Süleyman Demirel University Yazılım Kulübü | Yönetim Kurulu Üyesi
Süleyman Demirel University| Computer Engineering
www.gurelahmet.com | www.twitter.com/ahmtgrll 
ahmetgurel.yazilim@gmail.com */

#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 ekleyeren  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 :)