Soru: Bir satranç turnuvasında oynanan maçların sonuçlarına ilişkin, öncelikle oynanan maç sayısı sonra her maç için sırasıyla beyazlarla oynayan oyuncunun UKD(Ulusal Kuvvet Derecesi) puanını, siyahlarla oynayan oyuncunun UKD puanını ve maç sonucunu(1 beyazların kazandığını, 2 siyahların kazandığını, 0 beraberliği temsil ediyor) kullanıcıdan alan
( hatalı veri girişi yapılmayacağını varsayıyoruz) ve aşağıda belirtilen bilgileri ekrana yazdıran bir algoritma ve programını yazınız:
- Tüm oyuncuların UKD ortalaması?
- Beyazların kazandığı, siyahların kazandığı ve berabere biten maçların sayısı?
- UKD’si rakibinden düşük olanların kazandığı maçların , tüm maçlara yüzdesini?
int main() { int mac_sayisi=0; printf("Mac Sayisini Giriniz\n"); scanf("%d",&mac_sayisi); int yedekmacsayisi=mac_sayisi;//while içerisinde mac_sayisi değişkeni bir bir eksildiği için bu tampon maç sayısını tuttum. int oyuncusayisi=mac_sayisi*2;//oyuncu sayısı ukd ortalaması için lazım oldu. float ortalama;//ortalamayı tuttuğumuz değişken.Float yaptım tam sayı olsaydı(int) tam bir değer alamazdık. int tumukd=0;//toplam oyuncu ukd'si bu değişkende tutuldu. int ukddusukrakip=0;//ukdsi düşük olduğu halde rakibini yenenler için bu değişkeni yazdım. int kazananbeyazlar=0;//kazanan beyazlar int beraberlik=0;//beraberlik int kazanansiyahlar=0;//kazanan siyahlar int beyaz,siyah,ukd;//beyazukd,siyahukd,ukd değerleri int macsonucu=0;//mac sonucu aşağıda değişiyor. 1-0-2 değerlerine göre. float yuzde;//burda da yuzdemiz icin bir degisken yazdım. while(mac_sayisi>0){ printf("beyaz ukd:"); scanf("%d",&beyaz); tumukd=tumukd+beyaz; printf("siyah ukd:"); scanf("%d",&siyah); tumukd=tumukd+siyah; printf("mac sonucunu giriniz:"); scanf("%d",&macsonucu); if(macsonucu==1){ if(beyaz==siyah){ ukddusukrakip++; } kazananbeyazlar++; } if(macsonucu==2){ if(siyah==beyaz){ ukddusukrakip++; } kazanansiyahlar++; } if(macsonucu==0){ beraberlik++; } mac_sayisi--; } ortalama=tumukd/oyuncusayisi; yuzde=yedekmacsayisi/ukddusukrakip; printf("--------------------------sonuclar------------------------\n"); printf("Ortalama UKD %f \n",ortalama); printf("Kazanan Siyah Oyuncular:%d \n",kazanansiyahlar); printf("Kazanan Beyaz Oyuncular:%d \n",kazananbeyazlar); printf("Berabere Biten Maclar:%d\n",beraberlik); printf("Ukd'si dusuk olanlarin kazandigi maclarin tum maclara yuzdesi:%f",yuzde); return 0; }
Sorularınızı yorumla sorabilirsiniz, iyi çalışmalar.
daha fazla algoritma örnek soruları yazabilir misiniz
Tabii fakat ben sadece bana gelen soruları cevaplıyorum, eğer sorunuz var ise iletişim adreslerinden ya da burakscr@gmail.com adresine mail atabilirsiniz.
Çok başarılı bir yazı olmuş, elinize sağlık.
Teşekkür ederim.