Şimdi Ara

C# ta Rakamları farklı 6 haneli sayi Uretmem gerekiyor

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
13
Cevap
0
Favori
5.218
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • arkadaslar Yazılım bölümüne giren çıkan kişi sayısı çok az.
    bilen varsa bana yardım edin.

    dünden beri internette arıyorum doğru dürüst birşey bulamadım.

    yapmam istediğim şey 6 haneli bir sayı uretmek ve bu sayıların birbirinden farklı olmasını sağlamak.



  • 6.5.4.3.2.1 tane farklı sayılar olur bunun için komut da vardı bi ara c+ ile ilgileniyodum ama unuttum
  • benimde 2,3 karakterli harf, sayı karışık metinelr elde etmeme gerekiyor. :)
  • Böyle bir kod yazdım ama Sonuç değişmiyor. Ürettiği sayılar bazen birbirinden farklı olsa da birçok zaman mutlaka bazı sayılar birbirinin aynısı oluyor.

    Random x1 = new Random();
    k1 = Convert.ToString(x1.Next(1, 10));
    do
    {
    k2 = Convert.ToString(x1.Next(0, 10));
    } while (k2 == k1);

    do
    {
    k3 = Convert.ToString(x1.Next(0, 10));
    } while ((k3 == k2) && (k3 == k1));

    do
    {
    k4 = Convert.ToString(x1.Next(0, 10));
    } while ((k4 == k3) && (k4 == k2) && (k4 == k1));


    Mantıksal bir hata oldugu kesin ama nerede olabilir çözemedim.

    Kontrolleri su sekilde değiştirdiğimde de birşey değişmiyor.

    while ((k4 != k3) && (k4 != k2) && (k4 != k1));




  • Çözdüm ama mantıgını analamadan çözdüm..

    C# ta rasgele sayı, rakamları farklı rastgele sayı
    Rakamları birbirinden farklı sayılar

    do
    {
    Random x = new Random();
    sayi = Convert.ToString(x.Next(100000, 1000000));

    k1 = sayi.Substring(0, 1); k2 = sayi.Substring(1, 1);
    k3 = sayi.Substring(2, 1); k4 = sayi.Substring(3, 1);
    k5 = sayi.Substring(4, 1); k6 = sayi.Substring(5, 1);

    } while ((k6 == k5) || (k6 == k4) || (k6 == k3) || (k6 == k2) || (k6 == k1) || (k5 == k4) || (k5 == k3) || (k5 == k2) || (k5 == k1) || (k4 == k3) || (k4 == k2) || (k4 == k1) || (k3 == k2) || (k3 == k1) || (k2 == k1));
  • şöyle bi çözüm geldi aklıma... 999999 elemanlı bir dizi oluşturup bir döngüyle içini 1den 999999'e kadar doldur... random ile rastgele sayı gelir onu dizinin indisi yap ve aynı sayı gelmemesi için o indisi -1'e eşitle sonra kontrol et eğer randomla gelen indis numarasının değeri -1'e eşitse tekrar rastgele bir sayı üretip tekrar kontrol ettinmi sanırım birbirinden farklı sayılar oluşturmuş olursun... şu anda evde değilim eve gidince c#'ta yazmaya çalışırım yazabilirsem buraya yazarım kodları
  • mantık cok basit ve guzel olmus her basamak bir onceki ile karsılastırılmıs ve esitlik varsa dongu devam etmis! taki esitlik olmayana kadar!!
    6. basamak 1 e kadar farklı ise ve 5. de 1 kadar farklı ise bu sekilde...
    Kısa ve kesin cozum bu!
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
  • quote:

    Orjinalden alıntı: TechNiciaN

    Çözdüm ama mantıgını analamadan çözdüm..

    C# ta rasgele sayı, rakamları farklı rastgele sayı
    Rakamları birbirinden farklı sayılar

    do
    {
    Random x = new Random();
    sayi = Convert.ToString(x.Next(100000, 1000000));

    k1 = sayi.Substring(0, 1); k2 = sayi.Substring(1, 1);
    k3 = sayi.Substring(2, 1); k4 = sayi.Substring(3, 1);
    k5 = sayi.Substring(4, 1); k6 = sayi.Substring(5, 1);

    } while ((k6 == k5) || (k6 == k4) || (k6 == k3) || (k6 == k2) || (k6 == k1) || (k5 == k4) || (k5 == k3) || (k5 == k2) || (k5 == k1) || (k4 == k3) || (k4 == k2) || (k4 == k1) || (k3 == k2) || (k3 == k1) || (k2 == k1));


    k1 = sayi.Substring(0, 1); k2 = sayi.Substring(1, 1); burda k1 isimli değişkene substring ile sayi isimli değişkenin 0. karakterinden başlayıp 1 karekter alıp bu karakteri k1'e atar... k2 k3....k6'da da aynı mantık var...
    sonra altta bunların hepsi birbirine eşitmi diye kontrol ediliyor bu kadar :)




  • Visual C# Form için ;

    private void button1_Click(object sender, EventArgs e)
    {
    uret:
    Random sayi = new Random();
    int s1 = sayi.Next(1, 10), s2 = sayi.Next(0, 10), s3 = sayi.Next(0, 10), s4 = sayi.Next(0, 10),s5=sayi.Next(0,10),s6=sayi.Next(0,10);
    if (s1 ==s2||s1 == s3||s1 == s4||s1==s5||s1==s6||s2==s3||s2== s4||s2==s5||s2==s6||s3==s4||s3==s5||s3==s6||s4==s5||s4==s6|| s5==s6)
    {
    goto uret;
    }
    else
    {
    textBox1.Text = s1+""+s2+""+s3+""+s4+""+s5+""+s6;
    }

    }

    Visual C# Console için ;

    static void Main(string[] args)
    {
    tekrar:
    uret:
    Random sayi = new Random();
    int s1 = sayi.Next(1, 10), s2 = sayi.Next(0, 10), s3 = sayi.Next(0, 10), s4 = sayi.Next(0, 10), s5 = sayi.Next(0, 10), s6 = sayi.Next(0, 10);
    if (s1 == s2||s1 == s3|| s1==s4 || s1==s5 || s1==s6 || s2==s3 || s2==s4 || s2==s5 || s2==s6 || s3==s4 || s3==s5 || s3==s6 || s4==s5 ||s4==s6|| s5==s6)
    {
    goto uret;
    }
    else
    {
    Console.WriteLine(s1+""+s2+""+s3+""+s4+""+s5+""+s6);
    }
    Console.ReadKey();
    goto tekrar;
    }

    Kolay gelsin




  • 7 yıllık konuyu hortlattın
    Konuyu açan arkadaş bile süresiz ban yemiş.
  • quote:

    Orijinalden alıntı: özgür beyin

    7 yıllık konuyu hortlattın
    Konuyu açan arkadaş bile süresiz ban yemiş.

    onu bunu geçtim de adam goto kullanmış ya
  • quote:

    Orijinalden alıntı: fatihtuzen

    Visual C# Form için ;

    private void button1_Click(object sender, EventArgs e)
    {
    uret:
    Random sayi = new Random();
    int s1 = sayi.Next(1, 10), s2 = sayi.Next(0, 10), s3 = sayi.Next(0, 10), s4 = sayi.Next(0, 10),s5=sayi.Next(0,10),s6=sayi.Next(0,10);
    if (s1 ==s2||s1 == s3||s1 == s4||s1==s5||s1==s6||s2==s3||s2== s4||s2==s5||s2==s6||s3==s4||s3==s5||s3==s6||s4==s5||s4==s6|| s5==s6)
    {
    goto uret;
    }
    else
    {
    textBox1.Text = s1+""+s2+""+s3+""+s4+""+s5+""+s6;
    }

    }

    Visual C# Console için ;

    static void Main(string[] args)
    {
    tekrar:
    uret:
    Random sayi = new Random();
    int s1 = sayi.Next(1, 10), s2 = sayi.Next(0, 10), s3 = sayi.Next(0, 10), s4 = sayi.Next(0, 10), s5 = sayi.Next(0, 10), s6 = sayi.Next(0, 10);
    if (s1 == s2||s1 == s3|| s1==s4 || s1==s5 || s1==s6 || s2==s3 || s2==s4 || s2==s5 || s2==s6 || s3==s4 || s3==s5 || s3==s6 || s4==s5 ||s4==s6|| s5==s6)
    {
    goto uret;
    }
    else
    {
    Console.WriteLine(s1+""+s2+""+s3+""+s4+""+s5+""+s6);
    }
    Console.ReadKey();
    goto tekrar;
    }

    Kolay gelsin





    Al ahanda bu visual c# için ahanda bu da console için




  • komik şeyler siziii




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