Ana içeriğe atla

C# Dilinde Diziler

Aynı türden birden fazla verileri saklamak için kullandığımız yapıya dizi denildiğini C++ derslerimizden hatırlıyoruz. Peki ya farklı şeyleri aynı ortamda tutmak istersek ne yapacağız, ileri ki zamanda collection konusunda bunu daha iyi anlayacaksınız. Dizi elemanları birbirinden bağımsızdır,birbirlerini varlıklarıyla etkilemezler.Diziler önemli bir konudur neredeyse tüm programlama dillerinin temelini oluşturur ve bir çok işimizi diziler ile yaparız. Şu ana kadar dizi kullanmadığımın çok az proje vardır o da ilk projelerimden biridir. C# nesneye dayalı bir programlama dili olduğu için dizi oluşturma şekilleri de birbirinden farklıdır. Şimdi kısaca bunlardan bahsedelim;

C# dilinde dizilerde bir sınıfı temsil eder, en başta dediğimiz gibi her şey bir sınıfın içerisindedir. Sınıf ve nesne kavramları oturmadan C# ve Java öğrenmek neredeyse imkansızlaşır. Programcı bir dizi oluşturmak isterse ilgili dizi türünün sınıfından bir nesne oluşturmalıdır. Bu cümleyi daha iyi anlayabilmek için aşağıdaki örneği inceleyelim.

int TekSayi=new int[5]

int:Dizi hücresinin türü(integer)
[5]:Dizinin boyutu
new int [5]:Oluşan dizinin referansı
—>Dizinin her bir elemanına erişmek için diziyi gösteren referans kullanılır.

—>Bir dizi hücresine erişmek için ilgili hücrenin sırası diziyi gösteren referansın sağına konulan köşeli parantez içerisine yazılır.

Dizi kurallarının hatırlatmakta istiyorum. Çünkü çalışırken bunları unuttuğumuzda projelerimizde büyük sorunlar ortaya çıkabilir.  Öncelikle erişim indeksi kesinlikle negatif bir sayı olamaz ve erişim indeksi kesinlikle dizi boyutundan büyük olamaz. Erişim indeksi tam sayı olmalıdır, double değişken kullanılamaz. Bunları da hatırladıktan sonra gelelim dizi çeşitlerimize dizilerimiz C++’dan da aşina olduğunuz gibi bir ve iki boyutlu diziler var. Fakat onların yanına üç boyutlu diziler de eklenmekte. Dizilerin yazılış sistemleri aşağı da verilmiştir. İnceleyiniz.

int[]sayi=new int[5]//Bir boyutlu dizi için

int[,]matris=new int[5,5]//İki boyutlu dizi için

int[, ,]UcBoyutluDizi=new int[5,5,5]//Üç boyutlu dizi için

—–>C#’da rastgele sayılar atamak için “Random” sınıfı kullanılır. Random sınıfı döngü içerisinde çağırılmamalıdır. Çünkü  her yeni random nesnesinin ürettiği sayı aynı olur.

int[] Sayi_Dizisi=new int[10];

Random random=new random();

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

{

Sayi_Dizi[i]=random.Next(0,10);

Console.WriteLine(Sayi_Dizisi[i]);

}

Aynı türden birden fazla verileri saklamak için kullandığımız yapıya dizi denildiğini C++ derslerimizden hatırlıyoruz. Peki ya farklı şeyleri aynı ortamda tutmak istersek ne yapacağız, ileri ki zamanda collection konusunda bunu daha iyi anlayacaksınız. Dizi elemanları birbirinden bağımsızdır,birbirlerini varlıklarıyla etkilemezler.Diziler önemli bir konudur neredeyse tüm programlama dillerinin temelini oluşturur ve bir çok işimizi diziler ile yaparız. Şu ana kadar dizi kullanmadığım çok az proje vardır o da ilk projelerimden biridir. C# nesneye dayalı bir programlama dili olduğu için dizi oluşturma şekilleri de birbirinden farklıdır. Şimdi kısaca bunlardan bahsedelim;

C# dilinde dizilerde bir sınıfı temsil eder, en başta dediğimiz gibi her şey bir sınıfın içerisindedir. Sınıf ve nesne kavramları oturmadan C# ve Java öğrenmek neredeyse imkansızlaşır. Programcı bir dizi oluşturmak isterse ilgili dizi türünün sınıfından bir nesne oluşturmalıdır. Bu cümleyi daha iyi anlayabilmek için aşağıdaki örneği inceleyelim.

int TekSayi=new int[5]

int:Dizi hücresinin türü(integer)
[5]:Dizinin boyutu
new int [5]:Oluşan dizinin referansı

}

Diziler metotlarda ya da fonksiyonlarda parametre olarak çağrılabilir.

—–>martis.Lenght//Toplam eleman sayısını getirir.

—–>matris.GetLenght()//İstenilen boyutun eleman sayısı getirilir, parantez içine boyut yazılır.

Şu zamana kadar bahsettiğimiz tüm konular düzenli dizilerdendi. Şimdi ise düzensiz dizilerden bahsedeceğiz.

DÜZENSİZ DİZİLER

Satır ve sütunu eşit olan diziler olduğu gibi satır ve sütunu eşit olmayan dizilerde bulunmaktadır. Bunlara düzensiz(jagged array)diziler denir. Düzensiz diziler oluşturulurken;

int[][]PuruzluDizi=new int[5][];
Düzensiz diziler çağrılırken foreach döngüsü kullanılır. Foreach döngüsünün yapısı aşağıdaki gibidir. Foreach döngüsü ayrıca collection kullanılır.

foreach(var sayi in matris)

{

//sayi değişkeni her dönüşte dizideki bir sonraki elemanın değerini tutacaktır.

Console.WriteLine(sayi);

}

Diziler konusu bu kadar, daha sonra örnekler paylaşacağım. Yorumlarınızı bekliyorum. :)

Yorumlar

Bu blogdaki popüler yayınlar

Örnek Algoritmalar ve Örnek C++ Kodları

Örneklerimize bu başlığımız altında devam ediyoruz arkadaşlar. :) Yıl başına kadar C++ hakkında bildiğim tüm konuları ve yaptığım projeleri sizlerle paylaşacağım. Sorularınızı yorumlarda bekliyorum. Şimdiden kolay gelsin :) Algoritma 5: Yarıçapı klavyeden girilen kürenin yüzey alanını ve hacmini açıklayan algoritmanın C++ kodunu yazınız.(π=3) #include <iostream> using namespace std; int main() { float r,alan,hacim; cout<<“Yaricapi giriniz:”; cin>>r; alan=4*3*r*r; hacim=(4*3*r*r*r)/3; cout<<“Alan:”<<alan<<endl; cout<<“Hacim”<<hacim<<endl; } Algoritma 6: Katsayıları klavyeden girilen birinci dereceden denklemin kökünü bulan algoritmanın C++ kodunu yazınız. #include <iostream> using namespace std; int main() { int a,b,c,x; cout<<“Katsayilari giriniz:”; cin>>a>>b>>c; x=(c-b)/a; cout<<“Kok:”<<x; } Algoritma 7:Klavyeden yarıçapı ve dilim açısı girilen daire diliminin...

C++ ile Veri Yapıları

Bu yazımızda, bilgisayar dünyasının temel yapı taşı olan veri yapısı konusunu ele alacağız. Bu konu oldukça zor olmakla birlikte, gayet önemli ve eğlenceli yapıdır. Veri yapısını bilmek ve etkin kullanmak, hayatınızda yapacağınız projelerde size kolaylık sağlayacaktır. Veri yapısı genel olarak bakıldığınında hayatımızın her anında vardır. Konular ilerledikçe bu daha iyi anlaşılacaktır. Veri yapısını tanımlamak gerekirse, bilgisayar ortamında verilerin etkin olarak saklanması ve işlenmesi için kullanılır. Veri yapıları, verilerin düzenlenme biçimini belirleyen yapıtaşlarıdır. Bir yazılım değişkeni bile basit bir veri yapısı olarak kabul edilebilir. Değişik algoritmalarda verilerin diziler, listeler, yığıtlar, kuyruklar, ağaçlar ve çizgeler gibi veri modellerine uydurularak düzenlenmesi gerekebilir. Veri, yapı ve algoritma bir yazılımın birbirinden ayrılmaz bileşenleridir. Algoritması hazırlanmış her yapı için verilerin düzenli bir şekilde kullanımı önemlidir. Çünkü yapı iyi kurul...

Swift Giriş

İyi akşamlar arkadaşlar, Uzun süredir karar verdiğim Swift yazı serisine başlamış bulunmaktayım. Bu seriyi hep birlikte götüreceğiz. Bende yeni öğrenmeye başladım. Tüm öğrendiklerimi not tutarmışçasına burada paylaşacağım. Böylelikle geniş bir türkçe kaynak arşivi oluşturmuş olacağız. Swift dilini iyice kavradıktan sonra IOS geçiş yapacağım. Onu da mümkün oldukça büyük arşiv şeklinde oluşturmayı planlıyorum. IDE olarak XCode kullanacağım ama Jetbrain ürünlerinden olan AppCode da kullanabilirsiniz. 30 gün ücretsiz lisans veriyor fakat öğrenci iseniz okul mailiniz ile jetbrain hesabı açıp jetbrain tüm idelerini ücretsiz kullanabilirsiniz. Eğer Mac OS X işletim sistemine sahipseniz XCode tercihiniz olsun. Kendisi de gayet başarılı bir idedir. Eeee apple ürettiği ne zaman kötü olmuş. ;) Kaynak olarakta Apple hazırladığı AppStore'dan ücretsiz indirebileceğiniz, yaklaşık 1147 sayfalık pdf takip edeceğim. Gerektiğinde başka kaynaklardan da bakabilirim. Ekstra durum olursa belirtirim. A...