Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
4
Cevap
591
Tıklama
0
Öne Çıkarma
Random ile Algoritma yardim
C
13 yıl (155 mesaj)
Teğmen
Konu Sahibi

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)

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



W
13 yıl (1760 mesaj)
Binbaşı

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 >
Bu mesaja 1 cevap geldi.
C
13 yıl (155 mesaj)
Teğmen
Konu Sahibi

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



W
13 yıl (1760 mesaj)
Binbaşı

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ı >
Bu mesaja 1 cevap geldi.
C
13 yıl (155 mesaj)
Teğmen
Konu Sahibi

sorun degil c++ dan daha rahat ceviririm ;)

tekrardan tesekurler



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.