[]
C programming
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
int y= 1.0;
int x= pow ((145-(4*pow(y,2.0)))/3, 1/3.0) ;
printf("x=%d /n y=%d",x,y);
while(1);
return 0;
}
kodunu run ettiğimde x.i 3 çıkartıyor. ki "int" ile tanımladığım için beklenen bir şey zira değer 3 ile 4 arasında bir yerde olmalı.
lakin "int"leri double veya float yaptığımda hem x hem y değeri sapıtıyor ve ikisini de 10 haneli sayılar olarak yazdırıyor.
Problem nedir? Formülde hata olduğunu düşündüm ama y değerini de saçmalatmasının sebebi formül olamaz -ki int ile mantıklı sonuçlar veriyor.-
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
int y= 1.0;
int x= pow ((145-(4*pow(y,2.0)))/3, 1/3.0) ;
printf("x=%d /n y=%d",x,y);
while(1);
return 0;
}
kodunu run ettiğimde x.i 3 çıkartıyor. ki "int" ile tanımladığım için beklenen bir şey zira değer 3 ile 4 arasında bir yerde olmalı.
lakin "int"leri double veya float yaptığımda hem x hem y değeri sapıtıyor ve ikisini de 10 haneli sayılar olarak yazdırıyor.
Problem nedir? Formülde hata olduğunu düşündüm ama y değerini de saçmalatmasının sebebi formül olamaz -ki int ile mantıklı sonuçlar veriyor.-
x ve y'yi float yaptığında printf'i değiştiriyor musun? printf içine %d değil, %f yazman gerekecek float için.
- long live rock n roll (26.10.11 02:08:16)
kodun doğrusu böyle...
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
float x=0;
float y=1;
x= pow ((145-(4*pow(y,2.0)))/3, 1/3.0);
printf("x=%f\ny=%f",x,y);
while(1);
return 0;
}
printf'de long live rock n roll'un dediği gibi %f yazman gerekiyor float ve double değerleri için.
ayrıca, new line komutunda ters slash kullanman gerekli ("\").
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
float x=0;
float y=1;
x= pow ((145-(4*pow(y,2.0)))/3, 1/3.0);
printf("x=%f\ny=%f",x,y);
while(1);
return 0;
}
printf'de long live rock n roll'un dediği gibi %f yazman gerekiyor float ve double değerleri için.
ayrıca, new line komutunda ters slash kullanman gerekli ("\").
- dogs (26.10.11 02:16:36)
1