Monday, May 21, 2012

Random sayı üretme


random  kodu ile program kendiliğinden rasgele bir sayi üretir.

random kodu;  baslangıç değeri + rand()%100 seklinde kullanılır.

1 ile 100 arasında sayı üretmek için 1+ rand()%100  (1+ 100= 101  1-100 dahil arası sayı üretir.
100 ile 200 arasında sayi üretmek için 100 + rand()%101; (100+101= 201 100-200 dahil arası sayi üretir.
5ile 15 arasında sayi üretmek için 5 + rand()% 11 ;  (5 + 11=16  5-15 dahil arası sayi üretir.

random sayi üretmeden önce bilgisayarın sürekli aynı sayıları üretmemesi için srand(time(0)) kodunu yazmamız gerekir.

#include <conio.h>
using namespace std;

int main ()
{
    srand(time(NULL)); //kodlar her calistiginde ayni sayilari uretmemesi icin yazılır.
    int dizi[10];
    int i;
    for (i=0;i<10;i++)
    {
        dizi[i] = 0+rand()%100; // 0 ile 100 arasinda sayi üretir.
        cout<< dizi[i] << endl;
    }
    getch();
}

Örnek;  6 kerede rasgele üretilen bir sayıyı tahmin etme oyunu.

#include<iostream>
#include <conio.h>
using namespace std;
int main () {
int x,a;

srand (time(0));  //aynı sayılar üretilmemesi için yazdık.

x=1+rand()%100; //1-100 arasında rastgele bir sayıyı x değişkenine atadık.
cout<< "1-100arasindaki sayiyi 6 hakkinda bul..."<< endl;

for (int i=0;i<6;i++) { //6 tane hak verdik yani döngü 6kez dönücek.
    cout<<"tahminin nedir ? : ";
cin>>a;

if (a>100 || a<0)  // girilen tahmin 100den büyük ve 0dan küçük ise uyarı verecek.
{
cout<<"sayi 1-100 arasi olmalı!!";
}

if (a==x){
cout<<"Tebrikler doğru tahmin ettin."<<endl;
}
if(a!=x){
cout<<"Yanlis cevap."<<endl;
}

}
cout<<endl<<endl<<"Hakkin doldu"<<endl;
cout<<"sayi " << x  << " idi";

getch();
return 0;
}

No comments:

Post a Comment