Csharp Programlama Dilinde Dinamik Diziler

Daha önce C# Programlama Dilinde Dizi Kullanımını görmüştük. Aşağıdaki linklere sırayla tıklayıp, uygulayarak C#'da dizi kullanımını en baştan öğrenebilirsiniz.

1. Bölüm  : C# Programlama Dilinde Dizilere Giriş.
2. Bölüm  : C# Programlama Dili ile Diziler 
3. Bölüm  : C# Programlama Dili ile Diziler 
4. Bölüm  : C# Programlama Dilinde Diziler

Ayrıca aşağıdaki makalelerde  de dizi kullanımı yer almaktadır, incelerseniz diziler konusunu daha da pekiştirmiş olacaksınız. OguzhanTas.com daki örnekler dışında Microsoft sitesinden de C# ile ilgili sayfaları inceleyebilirsiniz.
 
C# Programlama Dilinde Diziyi Ters Çevirme
Kabarcık Tekniği ile Dizi Sıralama


Şimdi gelelim Dinamik Dizi tanımına, aşağıdaki kodlara bir göz atacak olursanız, önceki örneklerden farklı olarak kullanıcının girdiği bir değere göre dizi boyutunun belirlendiğini göreceksiniz. 

            int boyut;
            Console.Write("Dizi boyutunu giriniz:");
            boyut = int.Parse(Console.ReadLine());
 
            double[] notlar= new double[boyut];

Önceki örneklerimizde aşağıdaki gibi sabit bir değer girmek ya da tüm elemanlarını yazarak derleyiciye dizinin kaç elemandan oluştuğunu zorundaydık.

            double[] notlar= new double[5];

Şimdi bir örnek yapalım, bir sınıftaki tüm öğrencilerin notlarını alıp, ortalamasını bulmak isteyelim. Her sınıftaki öğrenci sayısı değişeceğinden sabit bir değer tanımlamak zordur. Belki bir okulda aşağı yukarı öğrenci sayısı bellidir. Dizinin boyutunu en fazla öğrenci barındıran sınıfa göre belirlemek isteyebilirsiniz. Örneğin en fazla 50 öğrencili sınıf varsa dizinin boyutu 50 olsun diyebilirsiniz ama 30 öğrencili bir sınıfta 20 öğrencilik boşuna hafızada yer ayırmış olacaksınız. Dolayısıyla en iyisi dizi boyutunu sınıfta öğrenci sayısına göre dinamik belirlesin, biz de hafızadan kazanalım.


using System;
 
namespace DinamikDizi
{
    class Program
    {
        static void Main(string[] args)
        {
            int boyut;
            Console.Write("Dizi boyutunu giriniz:");
            boyut = int.Parse(Console.ReadLine());
            double toplam=0, ortalama=0;
 
            double[] notlar= new double[boyut];
            for (int i=0; i<notlar.Length; i++)
            {
                Console.Write("{0}.notu giriniz:", i + 1);
                notlar[i] = double.Parse(Console.ReadLine());
                toplam += notlar[i];
 
            }
            ortalama = toplam / notlar.Length;
 
            for (int j = 0; j < notlar.Length; j++)
                Console.WriteLine(notlar[j]);
 
           Console.WriteLine("=====================");
           Console.WriteLine("Toplam:{0} \nOrtalama:{1}", toplam, ortalama);
 
        }
    }
}
 


Yukarıdaki örnekte boyutu klavyeden alarak, dizinin boyutunu dinamik olarak belirledik. Sonra klavyeden notları aldık, toplamını döngü içindeki toplam değişkeninde biriktirdik. Ortalamayı da döngü bittikten sonra; ortalama = toplam / notlar.Length satırı ile hesapladık.



Mutlu Kodlamalar,
Nisan, 2015
Oğuzhan TAŞ

 

Bookmark and Share