Teşekkür ederim,ilginiz için. Kod şu şekilde:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
int sayi[4];
int sayiDeger;
int tahminOku();
void sayiBelirle();
int main() {
int denemeSayisi;
int geciciOkunan;
denemeSayisi = 0;
sayiBelirle();
while (++denemeSayisi < 10) {
geciciOkunan = tahminOku();
if (geciciOkunan==sayiDeger) {
printf("Tebrikler, sayıyı bildiniz!\n\n");
return 0;
}
}
printf("Oyunu kaybettiniz, Sayı : %d\n", sayiDeger);
return 1;
}
int tahminOku() {
int okunanSayi, okunanTemp, okunanSayiParcalar[4], i, j, arti, eksi;
printf("Tahmin Giriniz : ");
scanf("%d", &okunanSayi);
okunanTemp = okunanSayi;
for (i=3;i>=0;i--) {
okunanSayiParcalar = okunanTemp % 10;
okunanTemp -= okunanSayiParcalar;
okunanTemp = okunanTemp / 10;
}
arti = 0;
eksi = 0;
for (i=0;i<4;i++) {
if (okunanSayiParcalar==sayi)
arti++;
else
for (j=0;j<4;j++)
if (j!=i && okunanSayiParcalar==sayi[j]) eksi++;
}
printf("Sonuç : +%d,-%d\n", arti, eksi);
return okunanSayi;
}
void sayiBelirle() {
int i, j, x;
// # Rastgele sayı üreticiye malzeme
srand(time(NULL));
sayi[0] = rand() % 8 + 1;
for (i=1;i<4;i++) {
x = 0;
while (x==0) {
x = 1;
sayi = rand() % 9;
for (j=0;j<i;j++) {
if (sayi==sayi[j]) x = 0;
}
}
}
sayiDeger = sayi[0]*1000 + sayi[1]*100 + sayi[2]*10 + sayi[3];
}