- ارسال ها
- 2,239
- لایک ها
- 166
- امتیاز
- 0
Olympiad گفت
mohammad_72 گفت
تو کد اول وقتی اینو مینویسید :
t=1/((x*x)+x+3);
میاد میبینه x از نوعه int هست یعنی مخرج صحیحه
صورت هم که صحیحه ( 1 از نوع int محسوب میشه)
پس وقتی تقسیم میکنه جزء صحیحشو بهتون تحویل میده.
اگه اینجوری بنویسین درست میگیره :
t=1.0f/((x*x)+x+3);
یا اینجوری :
t=(float)1/((x*x)+x+3);
t=1/((x*x)+x+3);
میاد میبینه x از نوعه int هست یعنی مخرج صحیحه
صورت هم که صحیحه ( 1 از نوع int محسوب میشه)
پس وقتی تقسیم میکنه جزء صحیحشو بهتون تحویل میده.
اگه اینجوری بنویسین درست میگیره :
t=1.0f/((x*x)+x+3);
یا اینجوری :
t=(float)1/((x*x)+x+3);
وقتي مي نويسم :
کد
float x,t;
چرا double نمی نویسید؟ شاید overflow دارید.