← Konulara dön

Built-in Arrays

Introduction to Computing

Programlamada belirli bir eşiğe ulaştık. Şimdiye kadar kullanıcıdan bir veya birkaç girdi alıp, bunlar üzerinde işlem yaptık ve sonuçları ekrana bastık. Ancak, kullanıcıdan bilinmeyen sayıda girdi alıp, bu girdileri bir yerde saklayıp işlemedik. İşte tam bu noktada diziler (arrays) devreye giriyor.

Neden Dizilere (Arrays) İhtiyaç Duyarız?

Elimizde şöyle bir problem olsun: Kullanıcıdan negatif bir sayı girene kadar sayı alıyoruz ve bu sayılardan en büyüğünü bulmak istiyoruz. Mevcut bilgilerimizle bunu rahatlıkla yapabiliriz. Ancak, eğer kullanıcıdan alınan en büyük üç sayıyı bulmak istersek, işler karmaşıklaşır.

Daha da ötesi, kullanıcıdan 1000 tane sayı alıp, bunların en büyük 10 tanesini bulmak isteyelim. Bu durumda, her sayı için ayrı bir değişken kullanmak mantıksız ve kullanışsız olacaktır. İşte bu noktada, verileri saklamak ve üzerinde işlem yapmak için gömülü dizilere (built-in arrays) ihtiyaç duyarız.

Gömülü Diziler Nedir?

Gömülü diziler, aynı türden birden fazla veriyi tek bir veri yapısı altında saklamamızı sağlayan yapılardır. Bu sayede:

  • Verileri düzenli bir şekilde saklayabiliriz.
  • Verilere kolayca erişebilir ve işleyebiliriz.
  • Bellek kullanımını optimize edebiliriz.

Örneğin, integer türünde bir dizi tanımlayalım:

int sayilar[1000];

Bu kod ile sayilar adında, 10001000 elemanlı bir integer dizisi oluşturduk.

Dizilerle Büyük Sayıları Bulmak

Dizileri kullanarak, kullanıcıdan aldığımız sayıları saklayabilir ve bu veriler üzerinde kolayca işlem yapabiliriz.

Örnek Uygulama

Kullanıcıdan -1 girene kadar sayılar alalım ve bu sayılardan en büyük 10 tanesini bulalım.

int sayilar[1000];
int sayac = 0;
int numara;

while (true) {
    std::cin >> numara;
    if (numara == -1) break;
    sayilar[sayac] = numara;
    sayac++;
}

std::sort(sayilar, sayilar + sayac, std::greater<int>());

for (int i = 0; i < 10 && i < sayac; i++) {
    std::cout << sayilar[i] << std::endl;
}

Bu kodda:

  • Kullanıcıdan alınan sayılar sayilar dizisinde saklanır.
  • std::sort fonksiyonu ile dizi büyükten küçüğe sıralanır.
  • İlk 10 eleman ekrana yazdırılır.

Dizilerin Avantajları

Diziler, verileri yönetmemizi kolaylaştıran birçok avantaja sahiptir:

  • Bellek Verimliliği: Aynı türden büyük miktarda veriyi tek bir yapıda saklayarak bellek kullanımını optimize eder.
  • Kolay Erişim: Dizinin herhangi bir elemanına, indeksini kullanarak O(1)O(1) zaman karmaşıklığında erişebiliriz.
  • İşlem Kolaylığı: Döngüler ve algoritmalar ile diziler üzerinde toplu işlemler yapabiliriz.

Matematiksel İfadeler ve Diziler

Dizilerle çalışırken bazen matematiksel hesaplamalar yapmamız gerekebilir. Örneğin, dizideki elemanların toplamını bulmak isteyelim:

Toplam=i=0n1sayilar[i]\text{Toplam} = \sum_{i=0}^{n-1} \text{sayilar}[i]

Burada:

  • nn dizideki eleman sayısını temsil eder.
  • sayilar[i]\text{sayilar}[i] dizinin ii. elemanıdır.

Özet

Gömülü diziler (built-in arrays), programlamada verileri etkin bir şekilde saklamamızı ve işlememizi sağlayan temel yapı taşlarıdır. Kullanıcıdan alınan bilinmeyen sayıda veriyi depolamak, sıralamak ve üzerinde işlem yapmak için diziler vazgeçilmezdir. Bu sayede, daha karmaşık problemleri etkin bir şekilde çözebilir ve kodlarımızı daha organize bir hale getirebiliriz.

Unicourse ile sınavlardan istediğin notları al.

Türkiye'nin en iyi üniversitelerinden 20.000'den fazla öğrenci sınavlarına Unicourse ile hazırlanıyor. Sen de aramıza katıl.