Algortima Soruları – 1

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.

4 thoughts on “Algortima Soruları – 1

Bir Cevap Yazın