C#'da Diziler

Bu derste C#'da dizi mantığına dair örnekler bulacaksınız. 2 ve 3 boyutlu dizlerle alakalı bilgiler de yer alıyor.

Bu derste C#'da dizi mantığına dair örnekler bulacaksınız. 2 ve 3 boyutlu dizlerle alakalı bilgiler de yer alıyor.

Diziler [Arrays]: Bir diziden bahsediliyorsa mutlaka dizi içindeki tüm elemanlar aynı tipde olmalıdır.


// New gördügümüz yerde hafızada bir alan ayırır

Dizi tanımla

String[] isimler=new String[5];



Burada string tipli 5 elemanlı bir dizi tanımlandı.
[] - Gördüğümüz yerde mutlaka dizi vardır.

Diziler 0'dan baslar
Dizinin herhangi bir elemanına bilgi girişi yapmak istiyorsak:


dizi ismi[dizinin bilgi girişi yapılmak istediği eleman sayısı]="Hamza";

İsimler[0]="Hamza";

İsimler[3]="MUŞUK";



Örnek: Dizi ye eleman eklemek ve girilen dizi elemanlarını ekrana yazdırmak.


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;



namespace diziler

{

    class Program

    {

        static void Main(string[] args)

        {

            // Dizi tanımla 

            // New gördüğümüz yerde hafıza da bir alan ayırır

            string[] isimler = new string[5];

            // Diziye eleman gir

            //isimler[0] = "Hamza";

            //isimler[3] = "MUŞUK";

            //Dizinin i. elemanlarına deger girme

            for (int i = 0; i < 5;i++ )

            {

                //Dizinnin i. degerine kayıt girmek için

                //Console.Write(i+".ismi giriniz....:");

                // Her ikisinde de yapar ama i+1 yapmamda ki amaç 0. eleman giriniz olmamasını önlemek için

                Console.Write("{0}.ismi giriniz...:",i+1);



                isimler = Console.ReadLine();

            }

            // Dizi elemanlarını ekrana yazma

            // isimler.length dizin eleman sayısı kayıt uzunlugu demek

                for (int i = 0; i < isimler.Length; i++)

                    Console.WriteLine(isimler);



        }

        

        

    }

}




Örnek 2: 1-50 arası sınıftaki örgencilere rastgele öğrenci sayısı kadar not veren program:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;



namespace diziornek

{

    class Program

    {

        static void Main(string[] args)

        {

            int tut;

            Random rnd = new Random();

            tut = rnd.Next(1, 50);

            int[] sinif = new int[tut];

            Console.WriteLine("Dizinin uzunlugu{0}", sinif.Length);

            for (int i = 0; i < sinif.Length; i++)

            {

                sinif = rnd.Next(1,50);

                Console.Write(sinif+ ? ?);

            }



            Console.WriteLine();

        }

    }

}



NOT: Arama yöntemleriyle alakalı binary search araştır.

Örnek 3: Dizin içinde bulunan değerin bizim girdiğiniz değere eşit olup olmadıgını bulan program:


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;



namespace dizi_ile_farkli_bir_ornek

{

    class Program

    {

        static void Main(string[] args)

        {

            int gir,i;

            bool bulundu=false;

            // Diziye uzunluk belirtmeden dogrudan deger atamasi

            int[] sayilar = { 1, 4, 56, 334, 13, 654, 78 };

            //Console.WriteLine(sayilar[4]);

            gir=Convert.ToInt32( Console.ReadLine());

            for (i = 0; i < sayilar.Length; i++)

            {

                if (gir == sayilar)

                {

                    bulundu = true;

                    break;

                    //döngüden çık

                }

            }

            if (bulundu)

                Console.WriteLine("bulundu");

            else

                Console.WriteLine("deger yok");

            

        }

    }

}




Soru: Dizi içindeki elemanları Binary Search ile ara yöntemi:


int[] sayilar = {4,456,67,3,778,23,89,21,7};

            int tutulan;

            tutulan = Convert.ToInt32(Console.ReadLine());

            Array.Sort(sayilar);//neyi sıralayacaksak parantez içine onu yazarız *Sıralama işlemini küçükten büyüğe yapar*

           // Array.Reverse(sayilar);// Sıralama işlemini büyükten küçüğe yapar

            Console.WriteLine ("İndis:={0}",Array.BinarySearch(sayilar, tutulan));

           

            

            for (int i = 0; i < sayilar.Length; i++)

                Console.WriteLine(sayilar);

            Console.ReadLine();

        }

    }

}



Binary Search çalışma mantığını bir sonraki makalede ayrıntılı olarak anlatacağım ve neden kullanılmaya ihtiyaç duyulmuş, bahsedeceğim.
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

öncelikle elinize sağlk ama ben programları çalıştıramadm bunlara birşey mi eklemem gerekiyor, yeni başladm we çk bişey bilmiyorum yardım ederseniz sevinirim.
Merhaba öncelikle C# asp.nette çalışmak için bir compilera (derleyiciye) ihtiyacınız var bunun için visual studio 2010-2008 bulabilirsiniz internette 90 günlük olanları var diger makaleleri yogunluğuma göre göndereceğim takip edebilirsiniz

Yukarı Git