none
Random Class kullanarak, İki boyutlu dizi oluşturmak. RRS feed

  • Genel Tartışma

  • Merhaba,

    Bir random sınıfı ve method oluşturdum.

    Bu sınıfı kullanarak, iki boyutlu dizinin satır ve kolon sayısını rastgele atadım.

    Ve dizi elemanlarına rastgele değerler atamak amaçlı iç içe döngü oluşturdum.

    C#'a yeni başlayanlar için iki boyutlu dizinin, satır uzunluğunu elde etmek için intArray.GetLength(0),

    kolon uzunluğunu elde etmek için intArray.GetLength(1) metodlarını kullanabiliriz.

    using System;
    
    namespace TwoDimensionalArrays
    {
        class Program
        {
            static void Main(string[] args)
            {
                MyClass rnd1 = new MyClass();
    
                int[,] intArray = new int[rnd1.GetRandom(2, 9), rnd1.GetRandom(2, 9)];
                for (int i = 0; i < intArray.GetLength(0); i++)
                {
                    for (int j = 0; j < intArray.GetLength(1); j++)
                    {
                        intArray[i, j] = (rnd1.GetRandom(1, 99));
                    }
                }
    
                for (int i = 0; i < intArray.GetLength(0); i++)
                {
                    for (int j = 0; j < intArray.GetLength(1); j++)
                    {
                        Console.Write(intArray[i, j] + " ");
                    }
                    Console.WriteLine();
                }
            }
    
        }
        class MyClass
        {
            Random rnd = new Random();
            int _random;
    
            public int GetRandom(int min, int max)
            {
               return _random = rnd.Next(min, max);
            }
    
    
        }
    
    }

    19 Nisan 2017 Çarşamba 10:38

Tüm Yanıtlar


  • Eğer 1 dahil 99 dahil şeklinde bir aralıkta sayı üretilsin istiyorsan 1,100 demelisin.


    19 Nisan 2017 Çarşamba 13:30
  • Sözgelimi 99 girdim, daha farklı bir sayı da olabilirdi.
    Esasen tüm parametreleri kullanıcıdan alınabilecek şekle getirebiliriz.
    Maksimum değerin minimum değerden küçük olmaması için kontrol ekledim.

    using System;
    
    namespace TwoDimensionalArrays
    {
        class Program
        {
            static void Main(string[] args)
            {
                RandomClass rnd1 = new RandomClass();
    
                int satir;
                int kolon;
                int min;
                int max;
    
                Console.Write("Dizinin satır sayısını giriniz = ");
                satir = Convert.ToInt32(Console.ReadLine());
                Console.Write("Dizinin kolon sayısını giriniz = ");
                kolon = Convert.ToInt32(Console.ReadLine());
                Console.Write("Dizi elemanlarına atanacak minimum değer ? = ");
                min = Convert.ToInt32(Console.ReadLine());
                Console.Write("Dizi elemanlarına atanacak maksimum değer ? = ");
                max = Convert.ToInt32(Console.ReadLine());
                if (max < min)
                {
                    max = 0;
                    Console.Write("Maksimum değer minimum değerden az olamaz, değeri tekrar giriniz ? = ");
                    max = Convert.ToInt32(Console.ReadLine());
                } 
    
                int[,] intArray = new int[satir, kolon];
                for (int i = 0; i < intArray.GetLength(0); i++)
                {
                    for (int j = 0; j < intArray.GetLength(1); j++)
                    {
                        intArray[i, j] = (rnd1.GetRandom(min, max));
                    }
                }
    
                for (int i = 0; i < intArray.GetLength(0); i++)
                {
                    for (int j = 0; j < intArray.GetLength(1); j++)
                    {
                        Console.Write(intArray[i, j] + " ");
                    }
                    Console.WriteLine();
                }
            }
    
        }
        class RandomClass
        {
            Random rnd = new Random();
            int _random;
    
            public int GetRandom(int min, int max)
            {
               return _random = rnd.Next(min, max);
            }
    
    
        }
    
    }
    


    19 Nisan 2017 Çarşamba 13:42
  • Anlatamadım sanırım.

    (rnd1.GetRandom(min, max))

    yerine

    (rnd1.GetRandom(min, max + 1))

    yazmalısın. 1,2  gibi değer verirsen sadece 1 ürettiğini göreceksin.

    20 Nisan 2017 Perşembe 06:38