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.

Yeni konular

Geri
Yukarı