C# Rakamları farklı 4 Basamaklı Random Sayı

7 Mesajlar 6.607 Okunma
smmexpress

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)
Merhaba arkadaslar c# ta 4 basamaklı random sayı yazdırıyorum fakat rakamlarında farklı olmasını istiyorum nasıl yapabılırım ? Sınavda da bu soru vardı yanı sorunun tamamı bu değil fakat benım takıldığım tek adım bu olmuştu yardım eder mısınız ?
 

 

wmaraci
reklam

erbasaran erbasaran Yazılım Mühendisi Kullanıcı
  • Üyelik 01.07.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım Mühendisi
  • Konum Ankara
  • Ad Soyad R** E**
  • Mesajlar 309
  • Beğeniler 2 / 77
  • Ticaret 70, (%100)
Hocam basitçe şöyle yapabilirsin:

Random RastgeleSayi = new Random();
string sayi = "";
string bir, iki, uc, dort;
for (int i = 0; i < 20; i++)
{
sayi = RastgeleSayi.Next(1023, 9876).ToString();
bir = sayi.Substring(0, 1);
iki = sayi.Substring(1, 1);
uc = sayi.Substring(2, 1);
dort = sayi.Substring(3, 1);
if(bir != iki && bir != uc && bir != dort && iki != uc && iki != dort && uc != dort){
listBox1.Items.Add(sayi);
}
}


Formda bir tane listbox var. For döngüsü 20 defa dönüyor ve rakamları farklı sayı olunca listboxa ekliyor. Yani döngü 20 kere dönecek ama rakamları farklı kaç kere random sayı üretirse o kadar listboxa ekleyecek. 1023'ten başlamasının nedeni en küçük rakamları farklı 4 basamaklı sayı olduğu için, aynı şekilde 9876 rakamları farklı en büyük 4 basamaklı sayıdır. Anlayamadığın yer olursa sorabilirsin.
PorFavorDama

kişi bu mesajı beğendi.

imza yok...

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)

erbasaran adlı üyeden alıntı

Hocam basitçe şöyle yapabilirsin:

Random RastgeleSayi = new Random();
string sayi = "";
string bir, iki, uc, dort;
for (int i = 0; i < 20; i++)
{
sayi = RastgeleSayi.Next(1023, 9876).ToString();
bir = sayi.Substring(0, 1);
iki = sayi.Substring(1, 1);
uc = sayi.Substring(2, 1);
dort = sayi.Substring(3, 1);
if(bir != iki && bir != uc && bir != dort && iki != uc && iki != dort && uc != dort){
listBox1.Items.Add(sayi);
}
}


Formda bir tane listbox var. For döngüsü 20 defa dönüyor ve rakamları farklı sayı olunca listboxa ekliyor. Yani döngü 20 kere dönecek ama rakamları farklı kaç kere random sayı üretirse o kadar listboxa ekleyecek. 1023'ten başlamasının nedeni en küçük rakamları farklı 4 basamaklı sayı olduğu için, aynı şekilde 9876 rakamları farklı en büyük 4 basamaklı sayıdır. Anlayamadığın yer olursa sorabilirsin.


Teşekkür ederim hocam fakat neden 20 kere dönüyor ?
 

 

erbasaran erbasaran Yazılım Mühendisi Kullanıcı
  • Üyelik 01.07.2011
  • Yaş/Cinsiyet 34 / E
  • Meslek Yazılım Mühendisi
  • Konum Ankara
  • Ad Soyad R** E**
  • Mesajlar 309
  • Beğeniler 2 / 77
  • Ticaret 70, (%100)

PorFavorDama adlı üyeden alıntı

Teşekkür ederim hocam fakat neden 20 kere dönüyor ?


20 kere dönmesinin bir özelliği yok, kafama göre yazdım. 20 kere random sayı üretsin ve rakamları farklı ise listboxa eklesin diye ayarladım. İstersen bir while döngüsü yaparsın rakamları farklı sayı olunca while döngüsünü bitirirsin.
PorFavorDama

kişi bu mesajı beğendi.

imza yok...
wmaraci
wmaraci

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)

erbasaran adlı üyeden alıntı

20 kere dönmesinin bir özelliği yok, kafama göre yazdım. 20 kere random sayı üretsin ve rakamları farklı ise listboxa eklesin diye ayarladım. İstersen bir while döngüsü yaparsın rakamları farklı sayı olunca while döngüsünü bitirirsin.


çok teşekkür ederim hocam sagolun :)
 

 

Forcerecon Forcerecon WM Aracı Kullanıcı
  • Üyelik 15.05.2014
  • Yaş/Cinsiyet 28 / E
  • Meslek Programlama
  • Konum İstanbul Avrupa
  • Ad Soyad E** Ş**
  • Mesajlar 306
  • Beğeniler 45 / 58
  • Ticaret 5, (%100)
Hocam bizim sınavdada aynı soru çıktı fakat bizde rakam sayısını ve farklı olup olmayacağını biz seçiyorduk.Bu şekilde biraz daha uzun olur bizim yaptığımız yolu aşağıda dosya olarak ekledim.



Sırasıyla yazdığım yerlere tıklayın 1. kısıma kaç rakam olacağını yazın.Her ğret butonuna tıkladığınızda yeni sayı üretir.HAFIZADAKİ SAYI labeline tıklarsanız ürettiği sayıyı gösterir.
Bizim Sınav:https://mega.co.nz/#!VAohUKoS!E21IjniMQKt9eHPv91Lafh2gOaGDOhY9INduKlY9y_E
Virus Taraması: http://virusscan.jotti.org/tr/scanresult/14f18b363ba394fdce9907b7ebeeaca01bcbfbe0
PorFavorDama

kişi bu mesajı beğendi.

www.oyuncumedya.com - Oyun, Haber ve Teknoloji Portalı!

PorFavorDama PorFavorDama WM Aracı Kullanıcı
  • Üyelik 20.01.2014
  • Yaş/Cinsiyet 29 / E
  • Meslek -
  • Konum Adana
  • Ad Soyad B** K**
  • Mesajlar 511
  • Beğeniler 152 / 44
  • Ticaret 0, (%0)

Forcerecon adlı üyeden alıntı

Hocam bizim sınavdada aynı soru çıktı fakat bizde rakam sayısını ve farklı olup olmayacağını biz seçiyorduk.Bu şekilde biraz daha uzun olur bizim yaptığımız yolu aşağıda dosya olarak ekledim.



Sırasıyla yazdığım yerlere tıklayın 1. kısıma kaç rakam olacağını yazın.Her ğret butonuna tıkladığınızda yeni sayı üretir.HAFIZADAKİ SAYI labeline tıklarsanız ürettiği sayıyı gösterir.
Bizim Sınav:https://mega.co.nz/#!VAohUKoS!E21IjniMQKt9eHPv91Lafh2gOaGDOhY9INduKlY9y_E
Virus Taraması: http://virusscan.jotti.org/tr/scanresult/14f18b363ba394fdce9907b7ebeeaca01bcbfbe0


Teşekkür ederim hocam sağolun suan dersteyım gıdınce hemen ınceleyecegım , değişik yollardan öğrenmek lazım :)
Forcerecon

kişi bu mesajı beğendi.

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al