folder Tahribat.com Forumları
linefolder C - C++
linefolder [C++] Random Sayı Hk.



[C++] Random Sayı Hk.

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CnkGn
    CnkGn's avatar
    Kayıt Tarihi: 09/Ocak/2011
    Erkek

    Merhaba arkadaşlar . Kısa kesip direk soruyu sorayım . Bilgisayar random sayıyı neye göre oluşturuyor , belirli bi algoritması varsa bu nasıl ? 

    Ve diğer sorum ;

    #include "stdafx.h"
    #include "iostream"
    #include "time.h"
    using namespace std;


    int _tmain(int argc, _TCHAR* argv[])
    {
    setlocale(LC_ALL,"turkish");

    unsigned long a,b,sayac=0;

    cout << "0-100 arası sayı giriniz : ";
    cin >> b;

    while (1)
    {
    srand ( time(NULL) );
    a = rand() % 100;

    if (a==b)
    {
    cout << sayac << " kere denendi." << endl ;
    break;
    }
    sayac++;

    }

     

    Bilgisayarın tuttugu sayıyı tekrardan tutmamasını istiyorum . Bunu nasıl yapabilirim?


    yo yo yo 1-4-8-3 to the 3 to the 6 to the 9 representing the abq. what up biaatch! leave at the tone...
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    musdawdaf
    musdawdaf's avatar
    Kayıt Tarihi: 01/Ağustos/2006
    Erkek

    seed olayi function icinde falan cagirilirsa sana ayni sayilari donecektir.o yuzden reseed yapan seylerden  kacin senin loop gibi.main icinde seed yapman bu sıkıntını çözecektir.

    musdawdaf tarafından 15/Kas/13 00:34 tarihinde düzenlenmiştir
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CnkGn
    CnkGn's avatar
    Kayıt Tarihi: 09/Ocak/2011
    Erkek

    Ne demek istediğini tam anlayamadım hocam daha yeniyim


    yo yo yo 1-4-8-3 to the 3 to the 6 to the 9 representing the abq. what up biaatch! leave at the tone...
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    Kısaca srand(time(NULL)) satırını while'dan önceye koy diyor:)

     

    Rastgele sayı üretme algoritmasını bir matematikçi ya da istatistikçi açıklayabilir tam manasıyla fakat http://en.wikipedia.org/wiki/Pseudorandom_number_generator adresine bakabilirsiniz.

     

    Sonsuz döngü olmasa (kısacası kaç tane rastgele sayı olacağını bilsek) kısa bir algoritma önerecektim fakat sonsuz döngü mevcut. Bu nedenle bir vectore ürettiğiniz sayıyı koymanızı, yeni bir rastgele sayı ürettirirken ise önce vector'de bu sayı var mı diye kontrol etmenizi tavsiye ederim. Örnek: http://www.cplusplus.com/forum/beginner/26777/


    Olaylara karışmayın!
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CnkGn
    CnkGn's avatar
    Kayıt Tarihi: 09/Ocak/2011
    Erkek
    YeniHarman bunu yazdı

    Kısaca srand(time(NULL)) satırını while'dan önceye koy diyor:)

     

    Rastgele sayı üretme algoritmasını bir matematikçi ya da istatistikçi açıklayabilir tam manasıyla fakat http://en.wikipedia.org/wiki/Pseudorandom_number_generator adresine bakabilirsiniz.

     

    Sonsuz döngü olmasa (kısacası kaç tane rastgele sayı olacağını bilsek) kısa bir algoritma önerecektim fakat sonsuz döngü mevcut. Bu nedenle bir vectore ürettiğiniz sayıyı koymanızı, yeni bir rastgele sayı ürettirirken ise önce vector'de bu sayı var mı diye kontrol etmenizi tavsiye ederim. Örnek: http://www.cplusplus.com/forum/beginner/26777/

    Hocam çok teşekkür ettim çalıştı :) Hemen bakıyorum adrese.

    @musdawdaf hocam sizede cok teşekkürler. 


    yo yo yo 1-4-8-3 to the 3 to the 6 to the 9 representing the abq. what up biaatch! leave at the tone...
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    CnkGn
    CnkGn's avatar
    Kayıt Tarihi: 09/Ocak/2011
    Erkek
    musdawdaf bunu yazdı

    seed olayi function icinde falan cagirilirsa sana ayni sayilari donecektir.o yuzden reseed yapan seylerden  kacin senin loop gibi.main icinde seed yapman bu sıkıntını çözecektir.

    ve 2 yıl sonra ne demek istediğini başka bir projemde anlamış oldum üstad :) teşekkürler ..


    yo yo yo 1-4-8-3 to the 3 to the 6 to the 9 representing the abq. what up biaatch! leave at the tone...
Toplam Hit: 3084 Toplam Mesaj: 6