Alıştırmalar
← Ünite 5

Ünite 5: Chapter 5: C Arrays — Alıştırmalar

Ders kitabının açık uçlu alıştırmaları. Bunlar çoktan seçmeli sınav sorusu değil — düşünmeni, araştırmanı, kendi cümlelerinle anlatmanı isteyen etkinlikler. Kitabın verdiği örnek yanıtlar kapalı duruyor; önce kendin dene.

  1. Alıştırma 1myders hazırladı
    C dilinde dizilerin bellekte ardışık (contiguous) olarak tutulmasının performans açısından ne gibi avantajlar sağladığını araştırınız ve kısaca açıklayınız.
    Yanıt / ipucu
    Ardışık bellek yerleşimi, dizinin başlangıç adresine indeks değeri eklenerek istenen elemana doğrudan ve sabit zamanda (O(1)) erişilmesini sağlar. Ayrıca, modern işlemcilerin önbellek (cache) mekanizmaları ardışık verilere erişirken daha verimli çalışır.
  2. Alıştırma 2myders hazırladı
    Bir C programında 'int sayilar[10] = {5, 3};' şeklinde bir tanımlama yapıldığında, dizinin ilk iki elemanı dışındaki elemanların değerleri ne olur? Deneyerek gözlemleyiniz.
    Yanıt / ipucu
    C derleyicisi, kısmi ilklendirme (partial initialization) yapıldığında belirtilmeyen tüm sağdaki elemanları otomatik olarak sıfır (0) değerine eşitleyecektir.
  3. Alıştırma 3myders hazırladı
    Bir fonksiyonun parametre tanımında 'void guncelle(int dizi[], int boyut)' ifadesini kullanarak, fonksiyon içinde yapılan değişikliklerin orijinal diziyi etkileyip etkilemediğini bir örnekle test ediniz.
    Yanıt / ipucu
    Diziler fonksiyona referans yoluyla (by reference) aktarıldığı için, fonksiyon içinde dizi elemanlarında yapılan her türlü değişiklik çağıran taraftaki orijinal diziyi doğrudan etkiler.
  4. Alıştırma 4myders hazırladı
    Bubble Sort (Baloncuğu Sıralama) algoritmasının çalışma mantığını inceleyiniz. 5 elemanlı rastgele bir dizinin bu algoritma ile nasıl sıralandığını adım adım (her geçişteki yer değiştirmeleri göstererek) kağıt üzerinde simüle ediniz.
    Yanıt / ipucu
    Algoritma, yan yana duran elemanları karşılaştırıp gerekirse yer değiştirerek en büyük elemanı her geçişte dizinin sonuna 'baloncuk' gibi taşır. Bu işlem tüm dizi sıralanana kadar ardışık geçişlerle tekrarlanır.
  5. Alıştırma 5myders hazırladı
    3 satır ve 4 sütundan oluşan iki boyutlu bir tamsayı matrisi tanımlayınız. Bu matrisin tüm elemanlarını iç içe döngüler (nested loops) kullanarak ekrana tablo formatında yazdıran bir kod bloğu tasarlayınız.
    Yanıt / ipucu
    Dış döngü satırları (0'dan 2'ye), iç döngü ise sütunları (0'dan 3'e) kontrol etmelidir. Her satır bittiğinde bir alt satıra geçmek için printf('\n') kullanılmalıdır.