ورود

View Full Version : سوال: مشکل این برنامه کجاست؟



hsn_abieteh
چهارشنبه 13 آذر 1387, 12:33 عصر
سلام دوستان
برنامه نوشتم که کسرها یک یک + یک دوم + یک سوم تا ... را محاسبه کند
ولی نمی دونم چرا جوابی که می خوام رو نمیده

اگه ممکنه ببینید مشکلش کجاست:افسرده:



#include<stdio.h>
#include<conio.h>
void main()
{
int x,num,c;
float sum=1;
printf("\n\n");
scanf("%d",&num);
for(x=1,c=1;c<=num;c++,x*=2)
{
sum+=1 / x;
printf("sum=%f",sum);
printf("\n");
}
getch();
}

Ati2008
چهارشنبه 13 آذر 1387, 22:05 عصر
سلام
برنامه جالبی بود....
من از شما خیلی خیلی تازه وارد ترم...ولی متوجه شدم که مشکل برنامتون کجاست؟
شما چون فراموش کردین که تقسم یه عدد صحیح به یه عدد صحیح دیگه میشه یه عدد صحیح با این برنامه مشکل دارین.
فقط کافیه جای اون 1 که تقسیمش کردین به x بنویسین 1.0
موفق باشین!:لبخندساده:

Ati2008
چهارشنبه 13 آذر 1387, 22:38 عصر
یه چیز دیگه هم خواستم بگم
گفتم که تازه کارم خیلی نمی دونم که واسه چی یه متغیر دیگه هم گرفتین و در 2 ضرب کردین.حوصله فکر کردن هم ندارم
.
ولی برنامه ی شما درست جواب نمیده...:ناراحت:
Sum رو نباید از ابتدا برابر 1 در نظر بگیرین.باید 0 بزارین.
من اصلاحش کردم اینجوری جوابش کاملا درست میشه...


#include<stdio.h>
#include<conio.h>
void main()
{
int x,num;
float sum=0;
printf("\n\n");
scanf("%d",&num);
for(x=1;x<=num;x++)
{
sum+=1.0 / x;
printf("sum=%f",sum);
printf("\n");
}
getch();
}