C#'da Diziler


Visual Basic ve .NET Framework    Visual Basic ve .NET Framework İle İlgili Paylaşım Kategorisi

Yazar: AlpBenjamins    0 Yorum    92 Görüntüleme
  • 0 Oy - 0 Yüzde

Paylaşım Tarihi: 31.01.2016, 17:35:12 #1
AlpBenjamins Cezalı Üye
Cezalı Üye
Status: Çevrimdışı Yorum Sayısı:270 Konu Sayısı:118 Üyelik Tarihi:28.11.2015

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 ilinkleri görmek için giriş yapmanız. Yada üye olmanız gerekir.  yapmamda ki amaç 0. eleman giriniz olmamasını önlemek için
Console.Write("{0}.ismi giriniz...:",ilinkleri görmek için giriş yapmanız. Yada üye olmanız gerekir. );

isimler[i] = 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[i]);

}


}
}



Ö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[i] = rnd.Next(1,50);
Console.Write(sinif[i]+ ? ?);
}

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[i])
{
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[i]);
Console.ReadLine();
}
}
}
Son Düzenleme: 31.01.2016, 17:43:47, Düzenleyen: Retribution.







Aradığınızı Bulamadınız Mı ?

Konuyu görüntüleyenler:
1 Misafir