close
c plus plus

DİZİLER

Dizi ard arda gelen bellek hücrelerine atılan verilerdir. Biz buna aynı tip verilerin birbiri arkasına tanımlanması diyebiliriz.

İlkokulda ve lisede görmüş olduğumuz kümeler dersiyle  c, c++, python ve diğer programlama dilleriyle benzerliklerinden söz ederek daha iyi kavrayacağınızı düşünüyorum.

Küme nesnelerin topluluğu veya yığınydı. Belirlemiş olduğumuz bu nesne topluluğuna küme diyorduk. Biz bu belirlemiş olduğumuz nesnelerle işlemlerimizi yapıyorduk ve diğer kümelerle bağlantılarını inceliyorduk.

Diziler de mantık bakımından kümelerdir. Aynı tip verilerin bulunduğu topluluk veya yığındır. Dizi elemanları da aynı küme elemanları gibidir. Tabi burada dikkat edilmesi gerek husus her dizi elemanı belirlemiş olduğumuz veri tipine göre bellekte yer kaplıyor ve ilk dizi elemanı ile ikinci dizi elemanını bellek adresleri birbiri ardına sıralanıyor.

Şimdi daha fazla detaya girmeden ve bu hikaye kısmını ( bence mantığının anlanmasında fayda var ) geçerek dizilerle ilgili programlarımzı yazıp algoritma mantıklarını açıklayalım.

Tek Boyutlu Diziler

Tek boyutlu dizilerin genel kullanımı;

veritipi diziAdı[satır]

şeklindedir.

10 elemanlı bir dizi oluişturalım ve bu dizi elemanlarından 3 tanesine değer atayalım. Geri kalan dizi elemanlarına ilk başta değer atamadığımız zaman ne olacağını görelim.

Gördüğünüz gibi geri kalan elemanlara değer atamadığımız için başlangıç değeri rastgele olarak atanmış oldu. Bazılarını “0” bazılarını rastgele bir sayı olarak aldı.

Şimdide ortalama almaya yarayan bir program yazalım. Kaç sayının ortalamasını alacağını bize sorsun daha sonra bu sayıları diziye atsın ve tek tek dizi elemanlarının değerlerini girip ortalamayı bulalım.

ÇOK BOYUTLU DİZİLER

Çok boyutlu diziler C++ programlama dilinde aynı C programlama dili ve diğer benzer dillerde olduğu gibi matris şeklinde tanımlanıyor. Yani ;

veriTipi diziAdı[satır][sütun]

biçiminde tanımlamış olduğumuz dizinin elemanları sırasıyla;

şeklinde tanımlanıyor ve biz buna çok boyutlu diziler diyoruz. Matrisler diye de geçiyor ve toplama çıkarma çarpma işlemlerini yapabiliyoruz.

Tüm bu işlemlerimizi yapabileceğimiz bir algoritma C programlama dilinde yazmıştım bunu C++ diline uygun hale getirelim. Algoritma mantığı tamamen aynı. Matrislerde sizin belirlemiş olduğunuz satır ve sütun değerlerine göre toplama , çıkarma ve çarpma işlemleri yapılıyor. Bu algoritmada döngü yapılarınıtemel giriş çıkış işlemlerini , veri tiplerini ve if-else koşul ifadeleri kullandık.

Yazdığımız bu programın çıktısını  C programlama dilinde yazmış olduğumuz programın çıktısıyla hemen hemen aynı oradan çıktısına bakabilirsiniz.

Diziler ve şuana kadar öğrenmiş olduğumuz konularla ilgili sadece örneklerin olacağı bir eğitimi bir sonraki ders vermeyi düşünüyoruz. Çünkü konuların anlatılmasından daha çok algoritmaları ve algoritmalarının çalışma mantıkları bizim ve sizin için daha önemli. Anlattığımız konuların yarım kalmaması ve sizin bu eğitimleri daha iyi birşekilde öğrenebilmeniz için şuana kadarki yazmış olduğumuz programları kendiniz yazmayı deneyin. İlk başta belki zorlanabilirsiniz bundan sonra ne kullanacaktık noktalı virgül varmıydı yokmuydu diye düşünecek ve sık sık tekrar bakacaksınız ama vazgeçmek yok öğrenmeye ve araştırmaya devam edin.

Bir sonraki eğitimizde görüşmek üzere hoşçakalın…

 

 

 

Etiketler : c dilic plus plus programlamac programlamac programlama dilic++ ile dizileregitim

Yorum Yap