En iyi yanıtlayıcılar
Random Sınıfı hakkında

Soru
-
Random sınıfı ile basamak değerini kendimiz belirleyebileceğimiz belli bir aralıkta yine başlangıç karakterini kendimiz belirleyeceğimiz biribirinden farkı sayıları nasıl üretebiliriniz.
Örneğin Basamak Sayısı 8
ilk İki rakam 15
ilk iki rakam + 10000 ile 100000 arasında ramdom sayı
şimdiden teşekkürler
Yanıtlar
-
ALGORİTMA: Hedefe ulaşmada izlenen yol ve yöntemler bütünü.
var b = 15; //başlangıç var t= 8; //toplam basamak var sayı = (b * (int)Math.Pow(10 , t - 2)) + new Random().Next((int)Math.Pow(10, t - 3),(int)Math.Pow(10, t - 2));
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Yanıt Olarak İşaretleyen sevdaca 24 Nisan 2016 Pazar 08:32
Tüm Yanıtlar
-
Random rnd = new Random(DateTime.Now.GetHashCode()); int ilkIki = 15; int rastgeleRakam = int.Parse(string.Format("{0}{1}", ilkIki, rnd.Next(10000, 100000)));
gibi birşey olabilir.
Not: Bildiğim kadarıyla rastgele sayı üretimlerinde şu rakamla başlasın diye belirleyemiyorsun.
- Düzenleyen Olcay GUZEL 23 Nisan 2016 Cumartesi 16:18
-
-
-
-
-
-
-
ALGORİTMA: Hedefe ulaşmada izlenen yol ve yöntemler bütünü.
var b = 15; //başlangıç var t= 8; //toplam basamak var sayı = (b * (int)Math.Pow(10 , t - 2)) + new Random().Next((int)Math.Pow(10, t - 3),(int)Math.Pow(10, t - 2));
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
- Yanıt Olarak İşaretleyen sevdaca 24 Nisan 2016 Pazar 08:32
-
ALGORİTMA: Hedefe ulaşmada izlenen yol ve yöntemler bütünü.
var b = 15; //başlangıç var t= 8; //toplam basamak var sayı = (b * (int)Math.Pow(10 , t - 2)) + new Random().Next((int)Math.Pow(10, t - 3),(int)Math.Pow(10, t - 2));
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
new Random(DateTime.Now.GetHashCode() şeklinde kullanabilirmiyiz
-
Referenas tipler ile value tipler de farklı davranır. Value tiplerde değişkenin değerini referans tiplerde üretilen hash değerini verir.
int a = 1212; string b = "1212"; Console.WriteLine("A : " + a.GetHashCode()); Console.WriteLine("B : " + b.GetHashCode());
Çıktı
A : 1212 B : -1932604476
-
Hocam burada oluşacak tüm sayılar biribirinden benzersiz olurmu +
new Random(DateTime.Now.GetHashCode() şeklinde kullanabilirmiyiz
Benzersiz derken basamaklardaki sayılar mı? yoksa üretilen sayılarmı? Üretilen sayıların düşük te olsa aynı çıkma ihtimali var. Random'a seed vermek bunu değiştirmez.
Benzersiz rastgele sayı nerden lazım oldu sana onu açarsan belki başka fikirler verilebilir.
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
-
Hocam şöyleki bir belge numarası oluşturmak istiyorum. Ve bu belge numarası her kayıt için farklı olsun istiyorum. sql üzerinde bir fonksiyon oluşturup var olan kayıt sayısını aldım. başlangıç değerini ve satır basamak değeri içinde yine db de bir tablo oluşturdum. Sonuç olarak bunların geri dönüşümünde sıralı bir sayı elde ettim.
Örn.
Başlangıç Rakamı : 15
Basamak Uzunluğu : 10
Kayıt Sayısı 2
üretiler sayılar 15-0000000001,15-0000000002 +++ gidiyor
Ama ben sıralı bir sayı değilde hepsi biribirinden farklı olmak kaydı ile 15-NNNNNNN şeklinde bir değer elde etmek istiyorum.
Umarım doğru anlatabilmişimdir.
-
O zaman sıralı yap yine ama XOR'la random'dur var mı yok mu uğraşmazsın.
//@önay 'ın kodunda sadece sağ tarafı değiştireceksin.
var b = 15; //başlangıç var t= 8; //toplam basamak var x = 123541; // 8 - 2 = 6 basamaklı kafana göre bir şey lazım buraya var sira = 45920; // herkes 1 er 1 er artacak aslında var sayı = (b * (int)Math.Pow(10 , t - 2)) + (sira ^ x); //15086517
- Düzenleyen Cihan YakarMVP 24 Nisan 2016 Pazar 17:49