C# Diziler bellekte aynı tipteki veri grubunun tutulmasını sağlar.
C# da tek boyutlu bir dizi, normal bir değişken gibi tanımlanır , sadece değişken ifadesinden sonra köşeli parantez kullanılır.
Dizi Tanımlama ile ilgili daha detaylı açıklama için C# Diziler yazısını okuyabilirsiniz.
Dizilerin oluşturulması iki şekilde olabilmektedir:
1 2 3 | int[] sayilar=new int[10]; //Tek satırda tanımlama |
1 2 3 4 | int[]sayilar; // 2 satırda dizi tanımlama sayilar=new int[10]; |
Dizi oluşturulurken içine değer atamak için aşağıdaki şekilde kullanılabilir.
1 2 3 4 5 6 7 8 | int[] sayilar={5,7,12,36}; // tanımlama sırasında int tipi diziye değer girişi string [] isimler={"Ahmet","Mehmet","Burak","Hasan"}; // tanımlama sırasında string tipinde diziye değer girişi char[] harfler = {'k','l','h','Y'}; // tanımlama sırasında char tipindeki diziye değer atama |
Ayrıca C# Diziler Konusu ile İlgili Diğer Başlıklar
- Dizileri Yeniden Boyutlandırma
- Dizilerde Kullanılan Metotlar
- Dizi İçinde Arama İşlemleri
- ArrayList Sınıfı
- ArrayList Örnekleri
- List Kullanımı
- HashTable Sınıfı
C# Dizi Örnekleri
C# Diziler ile ilgili karışık örnekler. Son yapılan örnekler en üstte yer alacak şekilde devamlı güncellenecektir.
Örnek 1: Eleman sayısını kullanıcının belirlediği bir dizi oluşturarak içine kullanıcının eleman girmesini sağlayan örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | int mevcut=0; Console.Write("Sınıf mevcudunu Girin : "); mevcut = Convert.ToInt32(Console.ReadLine()); Console.WriteLine(); string[] ogrenci = new string[mevcut]; for(int i=0;i<mevcut;i++) { Console.Write("Öğrenci Adını Girin : "); ogrenci[i]=Console.ReadLine(); } Console.WriteLine("===================================="); Console.WriteLine("www.yazilimkodlama.com"); Console.ReadKey(); |
Örnek 2: 10 personele ait numara,isim,telefon ve email bilgileri ayrı ayrı dizilerde tutan ve aranan numaraya göre ilgili kişinin bilgilerini ekranda gösteren dizi örneği (indexOf kullanıldı) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | static void Main(string[] args) { string[] ogrno = { "101", "102", "103", "104", "105", "106", "107", "108", "109", "110" }; string[] isim ={"Ali","Veli","Hasan","Kemal","Can","Ahmet","Mehmet","Enis","Bilal","Burak"}; string[] telefon = {"111","222","333","444","555","666","777","888","999","1000"}; string[] mail = { "aaaa@aaa.aa", "bbbbb@bbb.bb", "cccc@ccc.cc", "dddd@ddd.dd", "eeee@eee.ee", "ffff@eee.ee", "gggg@eee.ee", "hhhh@eee.ee", "iiii@eee.ee", "jj@eee.eej" }; Console.Write("Kişi No'yu girin: "); string aranan = Console.ReadLine(); int no = Array.IndexOf(ogrno, aranan.ToString()); Console.WriteLine("==========================================================================="); Console.WriteLine("Aranan Kişi : {0}\tTelefonu: {1}\tE-mail: {2}", isim[no], telefon[no], mail[no]); Console.ReadKey(); } |
Örnek 3: 20 elemanlı diziye rasgele -100 ile +100 arası sayılar atan ve daha sonra dizinin elemanlarını, pozitif sayı adetini,negatif sayı adetini ve işaretsiz sayı adetini ekranda gösteren örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | static void Main(string[] args) { int pozitif = 0; int negatif = 0; int notr = 0; Random rnd = new Random(); int[] sayilar = new int[20]; for (int i = 0; i < 20;i++ ) { sayilar[i] = rnd.Next(-100, 100); } foreach(int sayi in sayilar) { Console.WriteLine(sayi); if(sayi>0) { pozitif++; } else if(sayi<0) { negatif++; } else { notr++; } } Console.WriteLine("Pozitif Sayı Adeti>>> " + pozitif); Console.WriteLine("Negatif Sayı Adeti>>> " + negatif); Console.WriteLine("İşaretsiz Sayı Adeti>>> " + notr); Console.ReadKey(); } |
İlginizi çekebilir: C# Dersleri
Örnek 4 :Kullanıcının girmiş olduğu sayının dizide olup olmadığını bulan, varsa kaç adet bulunduğunu ekranda gösteren dizi örneği:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | static void Main(string[] args) { int[] sayilar = { 60,80,55,42,13,24,26,25,26,55,45,50,50,40 }; int sayi, kontrol = 0; Console.Write("Bir sayı giriniz :"); sayi = Convert.ToInt32(Console.ReadLine()); for (int i = 0; i < sayilar.Length; i++) { if (sayi == sayilar[i]) { kontrol++; } } if (kontrol == 0) { Console.WriteLine("Sayı dizi içinde bulunamadı..."); } else { Console.WriteLine("Bu sayı dizide {0} adet var", kontrol); } Console.ReadLine(); } |
Örnek 5: 10 elemanlı string dizi içindeki tek sayıları foreach döngüsüyle ekrana yazdıran ve teksayıların adetini ekranda gösteren örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | static void Main(string[] args) { int sayac = 0; int[] sayilar = { 10,15,20,33,22,11,9,8,48,47,12,25,12,21 }; int toplam = 0; foreach (int sayi in sayilar) { if (sayi % 2 == 1) { sayac++; Console.WriteLine(sayi); } } Console.WriteLine("Tek sayı adeti= " + sayac); Console.ReadKey(); } |
Örnek 6: Kullanıcıdan alınan metnin içinde bulunan sesli harf sayısını bulan c# console uygulaması
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | static void Main(string[] args) { char[] harfler = { 'a', 'e', 'ı', 'i', 'o', 'ö', 'u', 'ü' }; string metin; int sayac = 0; Console.WriteLine("Metin giriniz : "); metin = Console.ReadLine(); for (int i = 0; i < harfler.Length; i++) { for (int j = 0; j < metin.Length; j++) { if (metin[j] == harfler[i]) { sayac++; } } } Console.WriteLine(sayac); Console.ReadLine(); } |
Örnek 7: İçerisinde isimler bulunan string bir diziyi en son elemandan itibaren ekrana yazdıran örnek:
1 2 3 4 5 6 7 8 9 | string[] strDizi = { "Ahmet", "Mehmet", "Ali", "Veli","Hasan" }; int son = strDizi.Length - 1; for (int i = son; i >= 0; --i) { Console.WriteLine(strDizi[i]); } Console.ReadKey(); |
Örnek 8:Kullanıcı tarafından girilen gün adının haftanın kaçıncı günü olduğunu bulan c# console uygulaması
1 2 3 4 5 6 7 8 9 10 11 12 13 | string[] gunler = { "pazartesi", "salı", "carsamba", "persembe", "cuma", "cumartesi", "pazar" }; Console.WriteLine("Gün adı giriniz : "); string gun = Console.ReadLine(); for (int i = 0; i < gunler.Length; i++) { if (gun == gunler[i]) { Console.WriteLine(i + 1 + ". gündür"); } } Console.ReadLine(); |
Örnek 9: Verilen bir string metnin içerisinde harf yada karakterlerin her birinden kaç adet olduğunu bulan program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | class Program { static void Main(string[] args) { String metin = "www.yazilimkodlama.com"; metin = metin.ToLower(); String karakterler = "0123456789abcdefghijklmnopqrstuvwxyz.?,;"; int[] count = new int[karakterler.Length]; for (int i = 0; i < metin.Length; i++) { int index = karakterler.IndexOf(metin[i]); if (index < 0) continue; else { count[index]++; } } for (int i = 0; i < count.Length; i++) { if (count[i] < 1) continue; else { Console.WriteLine(karakterler[i] + " " +count[i]); } } Console.ReadKey(); } } |
Örnek 10: C# Console uygulamasında Elemanları kullanıcı tarafından dışarıdan girilen 10 elemanlı bir dizinin elemanlarını %20 arttıran ve ekrana yazdıran örnek:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | static void Main(string[] args) { //Eleman Girme işlemi int[] dizi = new int[10]; for(int i=0;i<10;i++) { Console.Write("{0}. elemanı giriniz : ", i + 1); dizi[i] = Convert.ToInt32(Console.ReadLine()); } Console.WriteLine("========================================="); // Yazdırma işlemi for(int i=0;i<10;i++) { dizi[i]=dizi[i]+(dizi[i]*20/100); Console.WriteLine("Dizinin {0}. indexi : {1} ", i, dizi[i]); } Console.ReadKey(); } |
Örnek 11: Elemanları kullanıcı tarafından girilen 10 elemanlı string bir dizide, en uzun metni, en uzun metnin karakter sayısını ve en uzun metnin index numarasını bulan ve ekrana yazdıran örnek
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | static void Main(string[] args) { int uzunluk=0; string enUzunMetin=""; int indexNo=0; string[] dizi = new string[10]; for (int i = 0; i < 10; i++) { Console.Write("{0}. elemanı giriniz : ", i + 1); dizi[i] = Console.ReadLine(); } for(int i=0;i<10;i++) { if(dizi[i].Length>uzunluk) { uzunluk = dizi[i].Length; enUzunMetin = dizi[i]; indexNo = i; } } Console.WriteLine("===================="); Console.WriteLine("Dizi içindeki en uzun metin: {0}", enUzunMetin); Console.WriteLine("Dizi içindeki en uzun metnin index numarası : {0}", indexNo); Console.WriteLine("Dizi içindeki en uzun metnin karakter sayısı: {0}", uzunluk); Console.ReadKey(); } |
Örnek 12: 20 elemanlı dizi içerisine for döngüsü ile rasgele 1-100 arası sayılar atarak ekranda görüntüleyen program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | class Program { static void Main(string[] args) { int[] dizi = new int[20]; Random rnd = new Random(); for(int i=0;i<20;i++) { dizi[i] = rnd.Next(1, 100); Console.WriteLine("Dizinin {0}. elemanı = {1}",i, dizi[i]); } Console.ReadKey(); } } |
Örnek 13 : 20 elemanlı diziye 1-100 arası rasgele sayılar atarak bu dizideki 50’den küçük sayıları listeleyen ve adetini bulup ekrana yazan program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | class Program { static void Main(string[] args) { int[] dizi = new int[20]; int sayac = 0; Random rnd = new Random(); for(int i=0;i<20;i++) { dizi[i] = rnd.Next(1, 100); if(dizi[i]<50) { Console.WriteLine("Dizinin {0}. elemanı = {1}", i, dizi[i]); sayac++; } } Console.WriteLine("==================================="); Console.WriteLine("50' den küçük sayı adeti : " + sayac); Console.ReadKey(); } } |
Örnek 14: 5 elemanlı string dizi içerisine eleman ekleyip for döngüsü kullanarak ekranda yazdıran program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | static void Main(string[] args) { string[] dizi = new string[5]; dizi[0] = "Ahmet"; dizi[1] = "Mehmet"; dizi[2] = "Ayşe"; dizi[3] = "Fatma"; dizi[4] = "Mustafa"; for(int i=0;i<5;i++) { Console.WriteLine(dizi[i]); } Console.ReadKey(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | static void Main(string[] args) { string[] dizi = new string[5]; dizi[0] = "Ahmet"; dizi[1] = "Mehmet"; dizi[2] = "Ayşe"; dizi[3] = "Fatma"; dizi[4] = "Mustafa"; foreach(string eleman in dizi) { Console.WriteLine(eleman); } Console.ReadKey(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | static void Main(string[] args) { int[] dizi = new int[100]; int negatif=0, pozitif=0; Random rnd = new Random(); for(int i=0;i<100;i++) { dizi[i] = rnd.Next(-100, 100); Console.Write(dizi[i] + " "); if(dizi[i]<0) { negatif++; } if(dizi[i]>0) { pozitif++; } } Console.WriteLine(); Console.WriteLine("******************"); Console.WriteLine("Negatif Sayı Adeti : {0}",negatif); Console.WriteLine("Pozitif Sayı Adeti : {0}",pozitif); Console.ReadKey(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | static void Main(string[] args) { string arananSehir; int sayac = 0; string[] sehirler = new string[20]; for(int i=0;i<sehirler.Length;i++) { Console.Write("{0}. Şehri Girin : ", i + 1); sehirler[i] = Console.ReadLine(); } Console.WriteLine(); Console.Write("Aranacak şehri girin : "); arananSehir = Console.ReadLine(); for(int i=0;i<sehirler.Length;i++) { if(sehirler[i]==arananSehir) { sayac++; } } if(sayac==0) { Console.WriteLine("Şehir bulunamadı."); } else { Console.WriteLine("Dizi içinde {0} adet {1} şehrine ait kayıt mevcut ", sayac, arananSehir); } Console.ReadKey(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | static void Main(string[] args) { string cumle; int seslisayac = 0; int sessizsayac = 0; Console.Write("Metni Giriniz:"); cumle = Convert.ToString(Console.ReadLine()); char[] sesliler = { 'a', 'e', 'i', 'o', 'u' }; for (int x = 0; x < cumle.Length; x++) { for (int i = 0; i < sesliler.Length; i++){ if (cumle[x] == sesliler[i]) { seslisayac++; } } } sessizsayac = cumle.Length - seslisayac; Console.WriteLine("sesli harfler:" + seslisayac.ToString()); Console.WriteLine("sessiz harfler:" + sessizsayac.ToString()); Console.ReadKey(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | static void Main(string[] args) { Console.WriteLine("Metni giriniz"); //Kullanıcıdan metin alırız... string cumle = Console.ReadLine(); // klavyeden okuyoruz kullanıcının girdiği değeri... for (int i = 0; i<cumle.Length; i++) //cümlenin her bir elemanına ulaşmak için gerekli... { char c = cumle[i]; // cumlenının i index numaralı degerini karaktere cevırıyoruz int d = c; // bu karakterin ASCII standartlarına gore sayısal karşığını buluyoruz int sonuc = d - 32; //kucuk harf ve buyuk arasında 32 karakter olduğu için bu değerden çıkarıyoruz Console.Write((char)sonuc); // sonucu karaktere çevirerek ekrana yazdırıyoruz (büyük bir şekilde yazar) } Console.ReadKey(); //bir tuşa basana kadar bekler ve bitirir... } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | static void Main(string[] args) { char[] sesli = { 'a', 'e', 'ı', 'i', 'o', 'ö', 'u', 'ü' }; //sesli harfler sabit olduğu için dizi tanımlıyoruz int adet = 0; //sesli harf sayısını içinde tutacak değişken tanımlıyoruz Console.WriteLine("bir cümle giriniz:"); //dışarıdan cümlemizi giriyoruz String cumle = Console.ReadLine(); //cümlemizi değişkene aktarıyoruz for (int i = 0; i < cumle.Length; i++) //cümlemizin harf harf inceleneceği döngümüzü oluşturuyoruz { for (int j = 0; j < sesli.Length; j++) // cümlemizz harf harf incelenirken her harfi sesli harfle karşılaştıracak döngümüzü hazırlıyoruz { if (cumle[i] == sesli[j]) //harfleri karşılaştırıyoruz { adet++; //şart doğru ise sesli harf değişkenini bir arttırıyoruz } } } float oran = Convert.ToSingle(adet) / Convert.ToSingle(cumle.Length); Console.WriteLine("harf sayısı :" + cumle.Length.ToString()); Console.WriteLine("sesli harf sayısı : {0}", adet); // sonucu ekranda gösteriyoruz. Console.WriteLine("oran :" + oran.ToString()); Console.ReadKey(); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | static void Main(string[] args) { string kelime = ""; int sonuc = 0; Console.WriteLine("Metni Giriniz"); string cumle = Console.ReadLine(); Console.WriteLine("Kelimeyi giriniz"); string sozcuk = Console.ReadLine(); for (int i = 0; i < cumle.Length; i++) { if (cumle[i] != ' ') { kelime = kelime + cumle[i]; } else { if (kelime == sozcuk) { sonuc++; } kelime = ""; } } Console.WriteLine("Sonuc:", sonuc.ToString()); Console.ReadKey(); } |
Merhaba
Dizi tanımlarken dizi elemanlarını belirlediğimiz köşeli parantez içerisine virgül koymak ne anlama gelir. int[,] bu şekilde.
Dizi ile Sinema bileti otomasyonu yapmam gerekiyor.. örnek bir kod yazabilir misiniz?
Hocam içinde en az iki dizi bulunduran bi örneğiniz varmı acaba.
6. örnek iki boyutlu dizi örneği mi?
eğer öyleyse ödevimde kullanacağım.
İki boyutlu dizi örneği değil. 2 boyutlu dizi örneği olarak aşağıdaki linki inceleyebilirsin.
https://www.yazilimkodlama.com/programlama/c-iki-boyutlu-dizide-satir-ve-sutun-toplamini-bulma/
3. 10 ile 50 arasında elemanlarını rastgele oluşturduğunuz 40 elemanlı bir dizi hazırlayınız. Bu dizide 12 sayısının olup olmadığını yazan varsa kaç adet olduğunu yazan kodla
bolunmeyenleriyaz (50,70)
şeklinde yazdığım zaman 50 ile 70 arasında 4’e kalansız bölünmeyen yani 50,51,53,54,55,57,58,59,61,62,63,65,66,67,69,70 sayılarını;
bolunmeyenleriyaz (10,20) şeklinde yazdığımda 10,11,13,14,15,17,18,19 sayılarını;
listbox a atan bir metot oluşturun. Yukarıdakileri örnek değer olarak verdim. Sizden bu sayıları yazan değil hangi değerleri yazarsam ona göre çalışacak bir METOT hazırla
admin çok acill
bolunmeyenleriyaz (50,70)
şeklinde yazdığım zaman 50 ile 70 arasında 4’e kalansız bölünmeyen yani 50,51,53,54,55,57,58,59,61,62,63,65,66,67,69,70 sayılarını;
bolunmeyenleriyaz (10,20) şeklinde yazdığımda 10,11,13,14,15,17,18,19 sayılarını;
listbox a atan bir metot oluşturun. Yukarıdakileri örnek değer olarak verdim. Sizden bu sayıları yazan değil hangi değerleri yazarsam ona göre çalışacak bir METOT hazırla
int[] sayilar1 = new int[5];
int[] sayilar2 = new int[sayilar1.Length];
Random rnd = new Random();
Console.Write(“1.Dizi :” + ” “);
for (int i = 0; i < sayilar1.Length; i++)
{
sayilar1[i] = rnd.Next(50);
Console.Write(sayilar1[i] + " ");
sayilar2[i] = sayilar1[sayilar1.Length – 1 – i];
}
Console.Write("\n \n");
Console.Write("2.Dizi :" + " ");
foreach (int sayi in sayilar2)
{
Console.Write(sayi + " ");
}
bu kod neden düzgün çalışmıyor düzgün hali nedir acaba lütfen yardımcı olur musunuz ödevim
ilk 2 eleman 0 olarak veriyor. Sebebi for döngüsünde daha 3. ve 4. eleman oluşturulmadan sayilar2 dizisinin 0 ve 1. indexine atılıyor. içi boş olduğu için 0 olarak ekliyor.
Eğer 2. diziyi birinci dizinin tersi olarak yapacaksanız ilk önce ilk dizi oluşturma tamamlansın daha sonra ters çevirme işlemini yapın.
ama döngüden çıkınca ilk dizinin elemanlarını sonradan 2. diziye ekleyemiyorum döngü kapalı olduğu için
20 kişiye ait isim ve notları büyükten küçüğe isimlerle beraber sıralayan program C#
array.sort(saiylar); bu komut küçükten büyüğe doğru sıralar
array.reverse(sayilar); bu komut ters çevirir yani küçükten büyüğe doğru sıralayanla birlikte yazacaksın. büyükten küçüğe doğru sıralayan kod yok bu şekilde yapabilirsin