C Dilinde Zar Ödevi

spenkenstein

Hectopat
Katılım
5 Ağustos 2014
Mesajlar
65
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar iyi günler herkese. Şöyle bir C ödevim var:

2 tane zar atılıyor. Program 2 zarın eşit olup olmadığını kontrol ediyor. (Yani 1-1,2-2 ,...6-6). Sonra program kaçıncı atışta eşit denk geldiyse onların sayısını bize yazdırıyor. En son 6-6 kaçıncı atışta geldiğini yazdırdıktan sonra program sona eriyor. Bir de 2 zarın da farklı fonksiyolar kullanması gerek.

Yardımcı olabilirseniz, fikir verebilirseniz sevinirim. Şimdiden teşekkürler.
 
Fikir olarak şöyle yap. Bir zar da en fazla 6 sayı var yani 1-6 arası rastgele sayı buldurtçaksın. Bundan sonra da sayac mantığı ile eğer if a=b z=z+1 z her seferinde artıyor eşit geldiği zanan. Yani kaç defa eşit geldiğinide buldun. Şimdi geçelim 6-6 kaçıncı atışta geldiğini z yi sayac olarak atadık. Aslında buna bir sayac daha atamamız lazım bu da x değişkeni olsun x=12 if x=a+b then bir değişken daha lazım gibi d=d+1. Burada d yi bir arttırıyor 6-6 geldiği zaman. Bu algoritmayı C ye uyarlarsan yapabilirsin. Sadece fikir veriyorum C bilmediğim için. Kolay gelsin.
 
int sayac1 = 0, sayac2 = 0 ; // sayaçların biri eşit gelmesini diğeri düşeş gelmesini sayıyor
Random rastgele = new Random(); // rastgele zar oluşturuyoruz
for (int i = 1; i > 0; i++) // sonsuz döngü oluşturuyoruz kaçıncı zar atışında düşeş geleceğini bilmediğimiz için
{
int zar1 = rastgele.Next(1, 7); // ilk zarı atıyoruz
Console.Write(zar1+" "); // atılan zarı ekrana yazdırıyoruz
int zar2 = rastgele.Next(1, 7); // ikinci zarı atıyoruz
Console.WriteLine(zar2); // atılan zarı ekrana yazdırıyoruz
sayac1 = sayac1 + 1; // eşit gelen zarlar açin atış sayılıyor
sayac2 = sayac2 + 1; // düşeş gelen zarlar için atış sayılıyor

if (zar1 == zar2) // eşit zar gelmesi durumunu denetliyoruz
{
Console.WriteLine(sayac1+". Atışda Eşit Zar "+zar1+"-"+zar2); // kaçıncı zar atışında eşit geldiğini yazdırıyoruz
sayac1 = 0; // sayaçların sıfırlanması
if (zar1 == 6 && zar2 == 6) // düşeş zar gelmesi durumunu denetliyoruz
{
Console.WriteLine(sayac2 + ". Atışda Düşeş Zar " + zar1 + "-" + zar2); // kaçıncı zar atışında düşeş geldiğini yazdırıyoruz
sayac2 = 0; // sayaçların sıfırlanması
break; // döngüyü bitiriyoruz
}
}
}
Console.ReadKey();
 
Uyarı! Bu konu 7 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı