Evet, çocuklar, şimdi nihayet çözümümüzü uygulayacağız.
Bu yüzden bir çalıştırılabilir solution dot x oluşturdum ve bu çalıştırılabilir dosyayı çalıştırdığınızda, ekrana
çok sayıda log veya printf geldiğini göreceksiniz.
Değil mi?
Dolayısıyla, bu kayıtlara bakarak hemen bir sonuca varamazsınız.
Yapmanız gereken şey, bu günlükleri temp gibi bir dosyaya yönlendirmeniz ve çözümünüzün bir süre çalışmasına izin
vermenizdir.
Diyelim ki 20'li ya da 30'lu yaşlar için.
Doğru.
Ve sonra sadece sonlandırın.
Ve sonra temp dosyasını açabilirsiniz.
Şimdi, bu geçici dosya çözümünüzün oluşturduğu tüm yazdırma ifadelerini içerecektir.
Ve 30'lu yaşlarda, oldukça uzun bir dosya olurdu.
Bu yüzden sizden dosyanın tamamını incelemenizi istemiyorum.
Ama bu basılı F'leri baştan başlayarak birkaç on ya da 100 veya 50 satıra kadar okumaya başlayabilirsiniz,
değil mi?
Günlüklerin tam olarak bu programın mantığını geliştirdiğimiz sırayla yazdırıldığını doğrulayabilmelisiniz.
Doğru.
Kilitler, uyguladığınız mantığın amacı ile uyumlu olmalıdır.
Değil mi?
Özel çözümünüze istediğiniz kadar printemps ekleyebilirsiniz ve çözümümüzün doğru çalışıp çalışmadığını
doğrulamak için programımızın sonucunu doğrulayacağız.
Bu yüzden filozof ET fonksiyonuna, filozof kimliğinin yanı sıra sol ve sağ kaşık kimliklerini yazdıran
printf'i ekledik.
Ayrıca filozofun kaç kez yemek yediğini de yazıyoruz, değil mi?
Dolayısıyla, çözümümüzün doğru çalışıp çalışmadığı konusunda bize en fazla fikir verecek
olan bu printf'tir.
Bu yüzden geçici dosyadan, bu özel printf çıktısını almaya ve programım tarafından üretilen nihai sonucu doğrulamaya
çalışacağım.
Doğru.
Bu yüzden yapacağım şey, basitçe anahtar kelime zamanlarını almak ve dosya sonucuna kaydetmemize izin vermektir.
Doğru.
Ve sonuç dosyası mevcut olduğunda, dosyayı kolayca açabilir ve belirli çıktıları içerdiğini görebilirsiniz.
Tek yapmanız gereken bu dosyanın son birkaç satırını incelemektir.
Son birkaç satır, bu dosyadaki her filozofun son çıktısını incelemek anlamına gelir.
Değil mi?
Ve çıktımın yaklaşık olarak her bir filozofun 12, 13 veya 11 kez yemek yediğini gösterdiğini görebilirsiniz.
Doğru.
Büyük bir varyasyon görürseniz, örneğin, üç veya dört kez yemek yiyen bir filozof bulursanız,
bu muhtemelen filozof ipliğinizden birinin çıkmaza girdiğine dair bir ipucu verir.
Değil mi?
Böylece programın çıktısını yeterince uzun süre üretebilirsiniz.
Örneğin, 1 diyelim. 5 dakika sonra bu sonuç dosyasını oluşturun ve
daha sonra hangi filozofun kaç kez yediğini bulmak ve çıktının doğruluğunu doğrulamak için bu sonuç dosyasını analiz edebilirsiniz.
Örneğin, filozof üç, kaşık üç ve iki ile 12 kez yemek yemiştir.
Değil mi?
Bu da basitçe filozofun her yerde aynı kaşıkla yemek yiyeceği anlamına gelir.
Bu üç ve iki.
Belirli bir filozof için kaşık çifti sabit ve değişmezdir.
Dolayısıyla programınız dört numaralı filozofun dört ve üç numaralı kaşıklarla yemek yediğini göstermemelidir.
Ve başka bir satırda, dört numaralı filozof başka bir kaşık setiyle yemek yiyor.
Değil mi?
Bu yanlış olur.
Geri kalan şeyleri size bırakıyorum.
Programınızı çalıştırır, çıktı üretir ve programınızın doğru çıktıyı üretip üretmediğini analiz
edersiniz.
Böylece yemek filozofu sorunuyla işimiz bitti.
Ve bu kurstaki bir sonraki konuya geçelim.