• 10-03-2016, 12:12:43
    #1
    Öncelikle Merhaba Arkadaşlar;

    Bir şans oyunu programı olacak. 1-42 arasında ki sayılarda 1 tane kırmızı top çekilecek, 1-49 sayılar arasında 5 tane beyaz top çekilecek. Yani toplamda 6 tane top çekilecek. Yalnız şöyle bir seçenek olacak beyaz topların numaraları birbirinden farklı olmak zorunda.

    Yardımcı olabilecek arkadaşlar olursa çok mutlu olurum kafayı yedim sabahtan beri
  • 10-03-2016, 15:07:48
    #2
    getirdiğiniz yere kadar koyarsanız yardımcı olabilirim.
  • 10-03-2016, 19:40:48
    #3
    Random rastgele = new Random();
    int kirmizi;
    int b1, b2, b3, b4, b5;
    int[]dizi=new int[6];
    for (int i = 0; i < 5; i++)
    {
    dizi[i] = rastgele.Next(1, 49);
    Console.WriteLine("b1 : " + dizi[i] + " ");

    }

    for (int i = 0; i < 1; i++)
    {
    rastgele.Next(1);
    Console.WriteLine("Kırmızı Top : " + dizi[i] + " ");

    }
    Console.ReadKey();

    http://prntscr.com/adkg3o

    Benim yazdığım kodda ekran çıktısı bu şekilde oluyor. Ama bu çıktı yalnış.

    Hocanın istediği;

    int kirmizi
    int b1,b2,b3,b4,b5

    diye değişkenler atayıp

    Console.WriteLine("kirmizi : " + kirmizi);
    Console.WriteLine("b1 : " + b1);
    Console.WriteLine("b2 : " + b2);
    Console.WriteLine("b3 : " + b3);
    Console.WriteLine("b4 : " + b4);
    Console.WriteLine("b5 : " + b5);

    bu şekilde bir çıktı istiyor.
  • 11-03-2016, 09:23:27
    #4
    http://rextester.com/YVB50107
    Buyrun, yazdığınız kodda ufak değişiklik ile istediğiniz kod bu şekilde olacaktır.
    Beyaz sayılar birbirinin aynı olmayacağı gibi, herhangi bir beyaz top kırmızı top ile aynı sayıda olabilir.
  • 11-03-2016, 09:53:42
    #5
    Hocanızın istediği şekilde yazılmıştır. Kodlar aşağıdadır. Kolay gelsin...
     int kirmizi = 0, b1 = 0, b2 = 0, b3 = 0, b4 = 0, b5 = 0;
                int[] sayilar = new int[6];
              
                    Random r = new Random();
                    int rastgele;
                    int sayac = 0; // Sayacı sıfırlıyoruz..
                    while (sayac < 6)
                    {
                        rastgele = r.Next(1, 50); // 1 ile 49 arasında rastgele sayı üretiliyor..
                        if (Array.IndexOf(sayilar, rastgele) == -1)  // Dizinin içinde var mı yok mu kontrol ediyoruz..
                        {
                            if(sayac == 0)
                            {
                                kirmizi = rastgele;
                            }
                            else if (sayac == 1)
                            {
                                b1 = rastgele;
                            }
                            else if (sayac == 2)
                            {
                                b2 = rastgele;
                            }
                            else if (sayac == 3)
                            {
                                b3 = rastgele;
                            }
                            else if (sayac == 4)
                            {
                                b4 = rastgele;
                            }
                            else b5 = rastgele;
                            
                            if (sayac == 0 && rastgele > 42)
                            {
                                //Kırmızı top 1-42 arasında olacak 42 den büyükse tekrar çekilecek...
                            } else {
                                if (sayac != 0) { sayilar[sayac] = rastgele; }
                                sayac++; // Sayacı bir arttırıyoruz..                        
                            }
                        }
                    }
    
                    
                    Console.WriteLine("1. Beyaz Top: " + b1);
                    Console.WriteLine("2. Beyaz Top: " + b2);
                    Console.WriteLine("3. Beyaz Top: " + b3);
                    Console.WriteLine("4. Beyaz Top: " + b4);
                    Console.WriteLine("5. Beyaz Top: " + b5);
                    Console.WriteLine("Kırmızı Top: " + kirmizi);
                    Console.ReadKey();
  • 11-03-2016, 10:23:42
    #6
    irFaNLiNe adlı üyeden alıntı: mesajı görüntüle
    http://rextester.com/YVB50107
    Buyrun, yazdığınız kodda ufak değişiklik ile istediğiniz kod bu şekilde olacaktır.
    Beyaz sayılar birbirinin aynı olmayacağı gibi, herhangi bir beyaz top kırmızı top ile aynı sayıda olabilir.
    BSoylu adlı üyeden alıntı: mesajı görüntüle
    Hocanızın istediği şekilde yazılmıştır. Kodlar aşağıdadır. Kolay gelsin...
     int kirmizi = 0, b1 = 0, b2 = 0, b3 = 0, b4 = 0, b5 = 0;
                int[] sayilar = new int[6];
              
                    Random r = new Random();
                    int rastgele;
                    int sayac = 0; // Sayacı sıfırlıyoruz..
                    while (sayac < 6)
                    {
                        rastgele = r.Next(1, 50); // 1 ile 49 arasında rastgele sayı üretiliyor..
                        if (Array.IndexOf(sayilar, rastgele) == -1)  // Dizinin içinde var mı yok mu kontrol ediyoruz..
                        {
                            if(sayac == 0)
                            {
                                kirmizi = rastgele;
                            }
                            else if (sayac == 1)
                            {
                                b1 = rastgele;
                            }
                            else if (sayac == 2)
                            {
                                b2 = rastgele;
                            }
                            else if (sayac == 3)
                            {
                                b3 = rastgele;
                            }
                            else if (sayac == 4)
                            {
                                b4 = rastgele;
                            }
                            else b5 = rastgele;
                            
                            if (sayac == 0 && rastgele > 42)
                            {
                                //Kırmızı top 1-42 arasında olacak 42 den büyükse tekrar çekilecek...
                            } else {
                                if (sayac != 0) { sayilar[sayac] = rastgele; }
                                sayac++; // Sayacı bir arttırıyoruz..                        
                            }
                        }
                    }
    
                    
                    Console.WriteLine("1. Beyaz Top: " + b1);
                    Console.WriteLine("2. Beyaz Top: " + b2);
                    Console.WriteLine("3. Beyaz Top: " + b3);
                    Console.WriteLine("4. Beyaz Top: " + b4);
                    Console.WriteLine("5. Beyaz Top: " + b5);
                    Console.WriteLine("Kırmızı Top: " + kirmizi);
                    Console.ReadKey();
    İkinize de çok teşekkür ederim.