Tahir Özdemir

C++ ile Kare Sayma Algoritması

Bir proje ödevini daha bitirmiş bulunmaktayım ve kodları paylaşacağım. Başlık tuhaf gelebilir. Fakat daha doğru nasıl ifade edilir bilmiyorum. Öncelikle ödevin ne olduğundan bahsedeyim. Proje raporunda yaptığım tanımı doğrudan buraya aktarıyorum.

Hazırlanılan projede, verilen nokta koordinatlarına göre, noktalar dikey veya düşey çizgiler ile birleştirilmekte; son koordinat bilgisi de alındıktan sonra oluşan karelerin büyüklükleri de göz önüne alınarak kaç adet oldukları bilgisi kullanıcıya verilmektedir. Kaç nokta olacağı, kaç çizgi çizileceği ve koordinat bilgileri “input.txt” dosyası ile kullanıcıdan alınıp işlemler yapıldıktan sonra, sonuçlar “output.txt” dosyasına yazılmaktadır. Kare sayılarının yanında verilen koordinatlar doğrultusunda oluşan şekli de yazdırarak kullanıcıya tam bir geri dönüş sağlanmaktadır.

“Dots and Boxes” adlı oyunun sadece kare sayma kısmı gibi düşünebilirsiniz. Örnek bir girdi ve çıktı dosyası görüntüsü paylaşırsam daha iyi anlaşılacaktır galiba.


Önemli Not:

Yatay çizgi koordinatlarında 1. sayı satır numarası, 2. sayı sütün numarasını temsil ederken; dikey çizgiler için tam tersi geçerli. Koordinat ‘H’ ile başlıyorsa bu yatay olacağı anlamına gelir. Noktaya gidilir ve sağındaki nokta ile birleştirilen yatay bir çizgi çizilir. ‘V’ ile başlıyorsa ilgili nokta ile altındaki nokta dik bir çizgi ile birleştirilir. Asıl kritik nokta tüm büyüklükteki kareler için çalışabilecek bir sayma algoritması oluşturmak. Artık kodu ve akış diagramlarını paylaşıp burada bitireyim.

Kaynak kod: https://drive.google.com/file/d/0B01T_59j7QNeNGJWQVE4UVFqa28/view?usp=sharing
Akış Diagramları: https://goo.gl/photos/8YBj1fUrvUZVEsi17