C# Console Sayısal Loto Programı

Csharp Console Sayısal Loto Programı

C# Console Sayısal Loto Programı. 0-49 arasında rastgele 6 adet tam sayı üreterek ekrana yazdıran program

Program Kodları:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {   //Rastgele 0-49 arasında 6 tane sayı üretiyoruuz
            Random sayi = new Random();
            int[] rastgele = new int[6];
            for (int i = 0; i < 6; i++)
            {
                rastgele[i] = sayi.Next(1, 50);
            }
            //Numaraları sıralıyoruz
            Array.Sort(rastgele);
            Console.WriteLine("0-49 ARASINDAKİ SAYILAR");
            Console.WriteLine("----------------------------");
            for (int i = 0; i < 6; i++)
            {
                Console.Write(rastgele[i] + "-");
            }
            Console.WriteLine("");
            Console.WriteLine("----------------------------");
            Console.ReadLine();
        }
    }
}

Ekran Görüntüsü

Bu Yazıya Tepkin Nedir?
+1
0
+1
0
+1
0
+1
0
+1
0
+1
1
+1
3

Yorum Yap

7 Yorum

  • peki 1 ile 49 arasındakı sayıları sadece bir kere secmesini istedigimizde nasıl yapacaz

    • O zaman üretilen sayıları var olan sayılar ile teker teker karşılaştırıp eğer o sayı daha önceden üretilmiş ise döngüyü 1 artırıp yeni sayı ürettireceğiz. For döngüsüne if ekleyerek kontrol yapabiliriz. Bi ara dediğiniz kodla programı yeniden yaparım inşallah.

        • Sizin için araştırdım ve buldum. Kolay gelsin.

          using System;
          using System.Collections.Generic;
          using System.Linq;
          using System.Text;
          using System.Threading.Tasks;

          namespace gencklavyeler
          {
          class Program
          {
          static void Main(string[] args)
          {

          Random rnd = new Random(); //Rastgele sayı üretmek için kullanılacak sınıf
          int[] dizim = new int[6]; //Dizimiz
          int yeni_sayi; //Her seferinde üretilecek sayımız.
          bool durum = true;

          for (int i = 0; i < dizim.Length; i++) { while (durum) { yeni_sayi = rnd.Next(0, 6); if (i == 0) { dizim[0] = yeni_sayi; break; //While döngüsünden çıkılır. } //Dizim içersinde oluşturulan yeni sayıdan varmı diye kontrol ediliyor. //Varsa durum true oluyor ve for döngüsünden çıkıyor. Çünkü yeni bir sayı atamamız gerekiyor. for (int k = 0; k < i; k++) { if (dizim[k] == yeni_sayi) //Yeni oluşan sayımız dizide daha önceden varsa { durum = true; break; //for döngüsünden çık } else durum = false; } if (durum == false) dizim[i] = yeni_sayi; } durum = true; Console.WriteLine("Dizinin {0} elemanı = {1}", i, dizim[i]); } Console.ReadLine(); } } }

      • bu programda 2 sayının ayı çıkma ihtimali var onu yok emek için baya uğraştım yapamadım onu nasıl yapabilirim
        yardımcı olabilirseniz sevinirim

        • Sizin için araştırdım ve buldum. Kolay gelsin.

          using System;
          using System.Collections.Generic;
          using System.Linq;
          using System.Text;
          using System.Threading.Tasks;
           
          namespace gencklavyeler
          {
              class Program
              {
                  static void Main(string[] args)
                  {
           
                      Random rnd = new Random(); //Rastgele sayı üretmek için kullanılacak sınıf
                      int[] dizim = new int[6]; //Dizimiz
                      int yeni_sayi; //Her seferinde üretilecek sayımız.
                      bool durum = true;
           
                        for (int i = 0; i < dizim.Length; i++)
                              {
                              while (durum)
                              {
                              yeni_sayi = rnd.Next(0, 6);
           
                              if (i == 0)
                              {
                              dizim[0] = yeni_sayi;
                              break; //While döngüsünden çıkılır.
                              }
           
                              //Dizim içersinde oluşturulan yeni sayıdan varmı diye kontrol ediliyor.
                              //Varsa durum true oluyor ve for döngüsünden çıkıyor. Çünkü yeni bir sayı atamamız gerekiyor.
                              for (int k = 0; k < i; k++)
                              {
                              if (dizim[k] == yeni_sayi) //Yeni oluşan sayımız dizide daha önceden varsa
                              {
                              durum = true;
                              break; //for döngüsünden çık
                              }
                              else
                              durum = false;
                              }
           
                              if (durum == false)
                              dizim[i] = yeni_sayi;
                              }
                              durum = true;
           
                              Console.WriteLine("Dizinin {0} elemanı = {1}", i, dizim[i]);
                               
                              }
                        Console.ReadLine();
                  }
              }
          }
          
          • int[] sayisal = new int[7];
            int yeni;
            Random rnd = new Random();
            for (int i = 0; i < sayisal.Length; i++)
            {
            yeni = rnd.Next(1, 49);
            for (int j = 0; j < i; j++)
            {
            if (sayisal[j] == yeni)
            {
            yeni = rnd.Next(1, 49);
            j = -1;
            }
            }
            sayisal[i] = yeni;
            }
            Array.Sort(sayisal);
            Console.WriteLine("Sayısal Loto Sonuçları :");
            foreach (int k in sayisal)
            {
            Console.Write("{0} ", k);
            }
            Console.ReadKey();

            Bu şekilde daha az kod kullanıp daha anlaşılır olabilir sanırım. Yeni başladım öğrenmeye bildiğim kadarıyla bu şekilde yaptım.