Algoritmaya Yönelik C Örnekleri

Bölüm 4

Konu
- Dosya ile girdi-çıktı işlemleri
- Çok boyutlu diziler
- string ve string işlemleri
- Değişken tipleri
- switch-case
string'ler ile ilgili güzel sorular var.

Çözümlü Örnekler

- Ornek4A.cpp: Verilen bir matrisin istenen iki satırının yerlerini değiştiren bir program yazınız.

- Ornek4B.cpp: Verilen bir matrisin üst üçgeninin toplamını bulan bir program yazınız.

- Ornek4C.cpp: Bir ülke m x n'lik bir matris oluşturacak şekilde parçalara ayrılmış ve yıl boyunca hangi parçaya ne kadar yağış olduğunun raporları tutulmuştur. Raporlar hangi bölgeye ne kadar yağış olduğu şeklindedir. m, n ve bu raporlar verildiğinde yıl sonunda hangi bölgeye toplam ne kadar yağış olduğunu bulan bir program yazınız.

Örnek:
Girdi: m 10 n 6
Toplam rapor adedi 3
2 1 5 5 1 // (2,1)-(5,5) dikdörtgenindeki bölgelere 1 miktarında yağmur yağdı.
3 3 8 4 2 // (3,3)-(8,4) dikdörtgenindeki bölgelere 2 miktarında yağmur yağdı.
7 1 7 5 4 // (7,1)-(7,5) dikdörtgenindeki bölgelere 4 miktarında yağmur yağdı.

Çıktı:
Toplam yağış miktarları:
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 4 0 0
0 1 1 1 1 1 0 4 0 0
0 1 1 3 3 3 2 6 2 0
0 1 1 3 3 3 2 6 2 0
0 1 1 1 1 1 0 4 0 0

- Ornek4D.cpp: {a| 0<=a<=9} kümesi üzerinde verilen bir bağıntının yansıma, simetri ve geçişme özelliklerini bulan bir program yazınız.
[ Not: Bundan önce bağıntı konusunun işlenmesi gerekir. ]

Ödevler

Aşağıdaki soruların çözümü için birden fazla çözüm yolu vardır. Bu çözüm yollarının
bazıları için sadece dizi ve döngüler yeterlidir. Artık biraz daha zor sorular çözmenin
zamanı gelmiştir.

  1. Verilen bir matrisi saat yönünde 90 derece döndüren bir program yazınız.
  2. Bir ülkenin haritası matris olarak verilmiştir. Matriste sınırlar 1 ile diğer alanlar 0
    ile gösterilmiştir. Ülkenin şekli konveks (girintisiz) olduğuna göre bu haritayı kullanarak
    ülkenin alanını hesaplayan bir program yaziniz.
    Örnek:
    Girdi:
    Haritanın boyutlari: 8 10
    Harita:
    0 0 0 0 1 1 1 1 0 0
    0 0 1 1 0 0 0 0 1 0
    0 0 1 0 0 0 0 0 1 0
    0 1 0 0 0 0 0 0 1 0
    0 1 0 0 0 0 0 0 1 0
    0 1 0 0 0 0 0 0 1 0
    1 0 0 0 1 1 1 1 0 0
    1 1 1 1 0 0 0 0 0 0

    Çıktı: Ülkenin alanı: 30
  3. Verilen bir matris üzerinde herbir satırı istenen yönde (1 sola 0 sağa) döndüren
    bir program yazınız.

    Örnek:
    Girdi: m 5 n 4
    Matris:
    0 1 2 3 4
    5 6 7 8 9
    4 3 2 1 0
    9 8 7 6 5

    Döndürme yönleri: 1 0 0 1

    Çıktı:
    1 2 3 4 0
    9 5 6 7 8
    0 4 3 2 1
    8 7 6 5 9
  4. Verilen bir matris üzerinde aşağıdaki şartları sağlayan bir minimum maliyetli
    yolun maliyetini bulan bir program yazınız:
    * Yol matrisin ilk satırından son satırına kadardır.
    * Yolun maliyeti üzerinden geçtiği sayıların toplamı kadardır.
    * Yol sadece aşağı, sol çapraz ve sağ çapraz yönlerinde ilerlemektedir.
    (Bu soru ACM sorusudur, bir benzeri de IOI'94'te sorulmuştur.)