C/C++ Rastgele Sayı Üretimi Rand ve SRand Kullanımı

C++ da rastgele sayı üretimi için size gerekli olan kütüphane stdlib.h kütüphanesidir. Çalıştırmak içinde rand() yazmanız yeterlidir. Fakat bu kullanımda sizin yazdıracağınız veya kullanacağınız değerler her çalıştırmanız da aynı gelecektir ekranınıza. İlk önce bunu test edelin.

#include<iostream>
#include<conio.h>
#include <stdlib.h> //rand için gerekli kütüphane
using namespace std;

int add(int,int);

int main()
{
int k;

for (k=0;k<10;++k)
cout << rand()<<endl;

_getch();
return 0;
}

Bu kodun çıktısı hiç değişmeden bu olacaktır.

c rastgele sayı üretimi rand

Bu kodla ekranımıza sürekli aynı değerler gelir bu değerlerin sürekli değişken olması için alttaki örnek kod kullanılabilir. Srand ile başlangıç değeri verilebilir ama sonuçlar bu seferde başlangıç değerine göre hep aynı çıkacaktır. Yani üst koda srand(500) yazsanız da ekranda çıkan değerler hep aynı çıkacaktır.

Ama bize bu kod da çok işimize yaramaz kodumuzun her çalıştığında sürekli farklı değerler elde etmek için srand koduna değer verirken srand(time(0)) olarak kullanın bu time(0) kodu bilgisayarınızın zaman değerini verir başlangıç değeri olarak bu değerde sürekli değiştiğinden rastgele sayıları elde etmiş oluruz. Alttaki kodu kendiniz test ediniz.

#include<iostream>
#include<conio.h>
#include <stdlib.h>
#include<time.h>
using namespace std;

int main()
{
int k;
srand(time(0));//srand ile başlangıç. değeri verilir ama yinede sürekli sonuçlar aynıdır.
for (k=0;k<5;++k)
cout << rand()<<endl;
cout<<endl;
// bu sonuçların sürekli değişken olması için alttaki kullanımlar daha iyidir.

for (k=0;k<3;++k)
cout << rand()%2<<endl;//Yanlızca 1 ve 0 değerlerini üretmek
cout<<endl;
for (k=0;k<3;++k)
cout << rand()%6<<endl;//Yanlızca 0-5 arası değer üretmek
cout<<endl;
for (k=0;k<3;++k)
cout << rand()%6+1<<endl;//Yanlızca 1-6 arası değer üretmek


_getch();
return 0;
}

c rastgele sayı üretimi srand

Processing your request, Please wait....