Kod:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
/*4 haneli rastgele sayý bulan fonk.*/
int frastgele()
{
int rastgele,i,j,hanerast[4],kontrol;
srand((unsigned)time(NULL));
rastgele=rand()%10000;
if(rastgele<1000) rastgele+=1000;
/*rastgele sayýnýn analizi*/
for(i=0;i<4;i++)
hanerast[3-i]=(rastgele%(int)pow(10,i+1))/(int)pow(10,i);
/*hanelerin farklýlýðýnýn saðlanmasý:*/
kontrol=0;
while(kontrol==0)
{
kontrol=1;
for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
if(hanerast[i]==hanerast[j])
{
kontrol=0;
}
/*eþitlik varsa kontrol 0 olur.*/
if(kontrol==0)
{
srand((unsigned)time(NULL));
rastgele=rand()%10000;
if(rastgele<1000) rastgele+=1000;
for(i=0;i<4;i++)/*yeni sayýnýn analizi*/
hanerast[3-i]=(rastgele%(int)pow(10,i+1))/(int)pow(10,i);
}
}
/*hane eþitliði engellendi*/
return rastgele;
}
int main()
{
int rastgele,giris,i,hanerast[4],hanegiris[4],j,arti=0,eksi=0,puan=30;
char yanit='e';
/*rastgele:rastgele bulunan sayý
giris:giris yapýlan sayi
hanerast ve hanegiris:rastgele ve giris in haneleri
arti ve eksi:artý ve eksi sayaçlarý
i,j,k:döngü deðiþkenleri
kontrol:hanelerin eþitliðini kontrol için kontrol deðiþkeni
kontrol 1 ise hane eþitliði söz konusudur.*/
rastgele=frastgele();
/*rastgele sayýnýn analizi*/
for(i=0;i<4;i++)
hanerast[3-i]=(rastgele%(int)pow(10,i+1))/(int)pow(10,i);
while(yanit=='e')
{
printf("4 haneli sayý giriniz(haneleri farklý)\n");
scanf("%d",&giris);
if(giris==rastgele)
{
printf("Tebrikler sayýyý buldunuz! Puanýnýz: %d\n",puan);
printf("Tekrar oynamak ister misiniz?e/h\n");
getchar();
scanf("%c",&yanit);
if(yanit=='e')
{
puan=30;
rastgele=frastgele();
/*rastgele sayýnýn analizi*/
for(i=0;i<4;i++)
hanerast[3-i]=(rastgele%(int)pow(10,i+1))/(int)pow(10,i);
}
}
else
{
puan-=1;
arti=0;eksi=0;
/*giriþ sayýsýnýn analizi*/
for(i=0;i<4;i++)
hanegiris[3-i]=(giris%(int)pow(10,i+1))/(int)pow(10,i);
/*+ sayýsýnýn hesaplanmasý*/
for(i=0;i<4;i++)
if(hanerast[i]==hanegiris[i])arti+=1;
/*toplam eþit hanelerin sayýsý ve bundan artýlar çýkarýlarak
eksilerin sayýsýnýn bulunmasý*/
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(hanerast[i]==hanegiris[j])eksi+=1;
eksi-=arti;
printf("%d+ %d-\n",arti,eksi);
}
}
return 0;
}
ALINTIDIR ...