Yazılım

C++ Ders 7 – Diziler, Çok Boyutlu Diziler

Diziler - Çok Boyutlu Diziler
tarafından yazıldı Mehmet Ali Ayvaz

Bu dersimizde diziler ve çok boyutlu diziler konusunu göreceğiz. Ayrıca birkaç örnek yapıp konuyu pekiştireceğiz.

  • Dizi Nedir?
  • Dizi Oluşturma
  • Çok Boyutlu Diziler
  • Diziler ile İlgili Örnekler
    • Dizideki Elemanları Küçükten Büyüğe Sıralama
    • Dizideki Sayıların Toplamını ve Ortalamasını Bulma

Dizi Nedir?

Diziler bellekte aynı türden verileri sıralı bir şekilde tutmaya yarayan veri yapısıdır. Kullanım amacını şöyle açıklayabiliriz: Aynı türden verilerin her biri için değişken tanımlamak yerine bunları dizi içinde saklayabiliriz.

Örnek olarak elimizde 10 tane tam sayı var, bunları bellekte tutmak istiyoruz. Bunun için 10 değişken tanımlamak yerine bir tane 10 elemanlı int türünde dizi tanımlayıp sayıları içinde tutabiliriz.

Dizi Oluşturma

Dizi tanımlama kodumuz aşağıdaki şekildedir. Sırasıyla dizinin türünü, dizinin adını ve dizinin kaç elemandan oluşacağını yazıyoruz. Dizinin eleman sayısı köşeli parantezler içinde, dizinin adına bitişik şekilde yazılır.

Double ve string türünde de dizi tanımlayabiliriz. Bu durumda dizimiz double türündeyse ondalıklı sayılar, string türündeyse metin tutacaktır.

Dizilerde elemanlara erişmek için indis kullanılır. Saymaya 0’dan başlayarak devam edilir. Diziye eleman atamak için köşeli parantez içine indisi yazarak elemanı tanımlarız. Örnek olarak 5 elemanlı bir dizi tanımlayalım ve sırayla 1’den 5’e kadar olan sayıları dizimize ekleyelim. Sonra ekrana dizimizin elemanlarını yazdıralım.

Dizi Tanımlama

Dizi Tanımlama

Bu örneğimizde for döngüsünüde kullandık. Öncelikle dizimizi tanımladık. Sonra indislerini kullanarak elemanlarımızı atadık. For döngüsü yardımıyla cout komutunu 5 kere döndürdük ve elemanlarımız ekrana yazdırıldı.

Diziye eleman atama işlemini tanımlama aşamasındayken de yapabilirdik. Yukarıdaki örneğin aynısını bu sefer daha pratik şekilde yapalım.

Dizi Oluşturma

Dizi Oluşturma


Örnekte gördüğünüz gibi dizimizi tanımladıktan sonra eşittirden sonra süslü parantezler içine elemanlarımızı sırayla yazdık. Bu şekilde de elemanlarımızı dizimize atamış olduk.

Şimdi ise 5 elemanlı bir dizi tanımlayalım. For döngüsü ile kullanıcıdan 5 elemanı alıp bu diziye atayalım. Sonra ekrana dizinin elemanlarını yazdıralım.

Kullanıcıdan Sayı Alıp Diziye Atama

Kullanıcıdan Sayı Alıp Diziye Atama

Çok Boyutlu Diziler

Çok boyutlu diziler matris mantığıyla çalışırlar. Bu yüzden bu sefer iki adet indeks değeri kullanacağız. Birinci değer satırı, ikinci değer sütunu gösterir.

Çok boyutlu dizilerde tanımlama şu şekilde yapılır. İlk kutuya satır sayısını, ikinci kutuya sütun sayısını giriyoruz.

Yukarıdaki tanımlamada 2 satırlı, 3 sütunlu boş bir çok boyutlu dizi tanımladık. Eğer tanımlarken değer atamak istersek şu şekilde de yazabilirdik.

Eğer bu dizide bir elemana erişmek istersek yine sıfırıncı indeksten başlayarak erişmek istediğimiz elemanın satır ve sütun numarasını yazıyoruz. Örnek olarak üstte değer atadığımız diziyi bu sefer tek tek indekslere erişerek değer atayalım. Ayrıca iç içe for döngüsü kullanarak bu değerleri ekrana yazdıralım.

Çok Boyutlu Diziler

Çok Boyutlu Diziler

Örnekte gördüğünüz gibi tek tek indekslere erişerek atama yaptık. Ayrıca ekrana yazdırırken de tek tek indekslerle yazdırmaktansa iç içe for döngüsü kullandık. Buradaki mantık şu şekilde işlemektedir: İlk for döngüsü satır sayısı kadar, ikinci for döngüsü sütun sayısı kadar dönecektir. Şimdi aynı örneği, kullanıcıdan aldığımız sayılarla yapalım.

Çok Boyutlu Diziler Örnek

Çok Boyutlu Diziler Örnek

Bu örnekte hem kullanıcıdan sayı almayı hem yazdırmayı iç içe for döngüleri ile yaptık. Şimdi ise dizilerle ilgili bir kaç algoritma örneği yapalım.

Diziler ile İlgili Örnekler

Dizideki Elemanları Küçükten Büyüğe Sıralama

Dizi Elemanlarını Küçükten Büyüğe Sıralama

Dizi Elemanlarını Küçükten Büyüğe Sıralama

Dizideki Sayıların Toplamını ve Ortalamasını Hesaplama

Dizi Elemanlarının Toplamını ve Ortalamasını Hesaplama

Dizi Elemanlarının Toplamını ve Ortalamasını Hesaplama

Bu dersimizde diziler ve çok boyutlu diziler konusunu gördük. Ve bunlarla ilgili örnekler yaptık. Gelecek dersimizde fonksiyonları göreceğiz.

Yazar Hakkında

Mehmet Ali Ayvaz

Kurgu ve tasarımla uzun süre ilgilendikten sonra yazılımla bu serüveni devam ettiriyorum. İnsanlara faydalı olabilecek içerikler hazırlama uğraşındayım.

Yorum Yap