Şimdi Ara

Random ile Algoritma yardim

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
514
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar merhaba,

    hangi dilde olduğu farketmez random fonkisyonu ile ilgili bir algoritma lazim

    elimde 24 elamanlı matris var ve 12 farkli sayi var(0 dan 11 e kadar)
    uretilen sayilara matrise atiycam

    random 0 ile 11 arasinda sayi ureticek, burasi kolay
    ama bu sayi iki kez olucak, yani ne bir kez uc kez uretilecek.

    1-2-1-8-1 >> hata, 1 den uc kez uretildi, tekrar uret 5. elamanı degistir(en son uretilen 1, besinci elaman)
    1-1-2-2-3-3-4-4-5-5-6-6-7-7-8-8-9-9-10-10-11-11-12-12 >> dogru ( yanyanada olabilir)
    1-3-5-9-2-7-8-4-6-12-10-12-1-3-5-9-2-7-8-4-6-12-10-12 >> dogru (karisikta olabilir)



  • C# için;
     
    Random random=new Random();
    int[] matris=new int[24];
    List<int> kullanilanSayilar = new List<int>();
    for(int i = 0; i < 12; i++)
    {
    int sayi=KullanilmayanSayiUret(random,kullanilanSayilar);
    for(int j = 0; j < 2; j++)
    {
    matris[i*2 + j] = sayi;
    }
    }


    void KullanilmayanSayiUret(Random random,List<int> kullanilanlar)
    {
    int sayi = random.Next(0,12);
    while(kullanilanlar.Contains(sayi))
    {
    sayi = random.Next(0,12);
    }
    }


    ŞÖYLE YAPAYIM;
    i 0 j 0 -> matris[0]
    i 0 j 1 -> matris[1]
    i 1 j 0 -> matris[2]
    i 1 j 1 -> matris[3]
    ...
    ...
    i 11 j 0 -> matris[22]
    i 11 j 1 -> matris[23] zaten 24 elemanlı matrisin son elemanı matris[23] tür.

    Birazdan C++ için yazmaya çalışacağım



    < Bu mesaj bu kişi tarafından değiştirildi welrocken -- 19 Mayıs 2012; 16:25:14 >
  • merhabalar,

    öncelikle çok teşekkür ederim yardımınız için.
    bu kodu c diline cevirmem gerek o sekilde kullancam, anca buradaki csharp dilinde list<> tam olarak ne ise yariyor, bir dizi mantigindan ne gibi farki var
  • Ya soyle list vector aslinda c deki karsiligi (c de varmi tam bilmiyorum ama c++ da var) onu direk dizi olarak da yapabiliriz. Sorun olmaz. Bunu yarin falan ceviririm belki C'ye ama tam olarak standary C ile C++ ayrimini yapamayabilirim

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • sorun degil c++ dan daha rahat ceviririm ;)

    tekrardan tesekurler
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.