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.
- Verilen bir matrisi saat yönünde 90 derece
döndüren bir program yazınız.
- 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
- 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
- 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.)