lostyazilim

c random sayı sorunu

8 Mesajlar 1.203 Okunma
lstbozum
wmaraci reklam

javaprof javaprof WM Aracı Kullanıcı
  • Üyelik 04.12.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek bilgisayar mühendisliği öğrencisi
  • Konum İstanbul Avrupa
  • Ad Soyad O** T**
  • Mesajlar 81
  • Beğeniler 9 / 4
  • Ticaret 0, (%0)
#include
#include
#include
#include
main(){


A15 :
srand((unsigned)time(0));
printf("ogrenmek istediğiniz islemi seciniz\nCARPMA\nbolme\ntoplama\ncıkarma");

int a=rand()%10;
int b=rand()%10;
int tumtoplam=0;

int n;
scanf("%d",&n);
switch(n){
regra : case 1: printf("carpma islemini seçtiniz \nbaska islem secmek icin 999 yaziniz\n");
int carpma=0;

printf("%d * %d kac eder",a,b);
scanf("%d",&carpma);
if(carpma==999){
goto A15;
}
else if(carpma==a*b){
printf("doğru girdiniz");
tumtoplam=tumtoplam+10;
printf("%d puanınız oldu",tumtoplam);
if(tumtoplam==100){
goto closebasari;
}
else{

goto regra;}
}
else{
printf("yanlıs girdiniz");
}
break;
case 2: printf("bolme islemini seçtiniz \nbaska islem secmek icin 999 yaziniz\n");
int bolma=0;

printf("%d / %d kac eder",a,b);
scanf("%d",&bolma);
if(bolma==999){
goto A15;
}
else if(bolma==a/b){

printf("doğru girdiniz");
tumtoplam=tumtoplam+10;
printf("%d puanınız oldu",tumtoplam);
if(tumtoplam==100){
goto closebasari;
}
else {
goto regra;
}


}
else{
printf("%d eder",a/b);
printf("yanlıs girdiniz");

goto closeyanlis;
}
break;


case 3: printf("toplama işlemini seçtiniz");break;
case 4: printf("cıkarma işlemini seçtiniz");break;
default:printf("böyle bir seçenek yok\n"); goto A15;
}
closeyanlis : printf("%d puanla oyun bitti",tumtoplam);
closebasari : printf("%d puan kazanarak oyunu tamamladiniz");
getch();

}

rando sayı ütretmek istiyorum ama sürekli aynı sayıları üretiyor 2*9 2/9 yani sürekli 2 ve 9 u üretiyor neden acaba?
 

 

java > c
wmaraci
reklam

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
srand(time(NULL));

ile deneyiniz.

time değerini 0 olarak fixed atadığın için ram'de time(0) olan son değeri genelde getirir böyle bir handikapı vardı sanırım. 10 sene oldu neredeyse c kodu yazmayalı en son lisans 1. sınıfta yazdıydım. Yanlışda hatırlıyor olabilirim. birde 0 - 10 aralığında aynı gelme olasılığıda yüksek %100 filan yapıp, 0-100 aralığında sayı ürettirmende fayda var.
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

javaprof javaprof WM Aracı Kullanıcı
  • Üyelik 04.12.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek bilgisayar mühendisliği öğrencisi
  • Konum İstanbul Avrupa
  • Ad Soyad O** T**
  • Mesajlar 81
  • Beğeniler 9 / 4
  • Ticaret 0, (%0)

Turgay Can adlı üyeden alıntı

ile deneyiniz.

time değerini 0 olarak fixed atadığın için ram'de time(0) olan son değeri genelde getirir böyle bir handikapı vardı sanırım. 10 sene oldu neredeyse c kodu yazmayalı en son lisans 1. sınıfta yazdıydım. Yanlışda hatırlıyor olabilirim. birde 0 - 10 aralığında aynı gelme olasılığıda yüksek %100 filan yapıp, 0-100 aralığında sayı ürettirmende fayda var.


yaptım ama sürekli aynı sayılar geliyor.
 

 

java > c

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
Aynı sayılardan tam kasıt nedir. 0-10 aralıgında gelen sayıları yazarmısın.
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)
wmaraci
wmaraci

javaprof javaprof WM Aracı Kullanıcı
  • Üyelik 04.12.2014
  • Yaş/Cinsiyet 32 / E
  • Meslek bilgisayar mühendisliği öğrencisi
  • Konum İstanbul Avrupa
  • Ad Soyad O** T**
  • Mesajlar 81
  • Beğeniler 9 / 4
  • Ticaret 0, (%0)
7 ve 0 geliyor programı yeniden çalıştırınca da 7 ve 0 geliyor visual studio varsa bi deneyebilirmisiniz sizde de 7 ve 0 gelecektir.
 

 

java > c

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)

javaprof adlı üyeden alıntı

7 ve 0 geliyor programı yeniden çalıştırınca da 7 ve 0 geliyor visual studio varsa bi deneyebilirmisiniz sizde de 7 ve 0 gelecektir.


malesef.. müsait bir zamanımda online bir c derleyicide deneyebilirim.
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)

asoza asoza WM Aracı Kullanıcı
  • Üyelik 05.10.2012
  • Yaş/Cinsiyet 57 / E
  • Meslek Öğretmen
  • Konum İstanbul Anadolu
  • Ad Soyad ** **
  • Mesajlar 30
  • Beğeniler 0 / 6
  • Ticaret 0, (%0)
srand((unsigned)time(0));
yerine
srand(rand() % GetTickCount());
deneyin.
Ancak bu rutin bir çözüm değil. İşinize yaraması lazım.
Yaşadığınız kronik bir problem.
 

 

YazilimMimari YazilimMimari Eski adi: Turgay Can Kullanıcı
  • Üyelik 25.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Engineering Director
  • Konum İstanbul Avrupa
  • Ad Soyad T** C**
  • Mesajlar 771
  • Beğeniler 2 / 260
  • Ticaret 0, (%0)
https://code.hackerearth.com/43fbc7a


denedim burda sırayla;

5, 0 , 1, 2, 3, 5, 0, 0, 4, 2 ...
 

 

https://www.linkedin.com/in/turgaycan/
Kaliteli kod yazılır.. (Günlük/Saatlik ücreti ile)
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al