PDA

View Full Version : رفع اشکال در برنامه c/c++



kazifasa
یک شنبه 14 تیر 1383, 01:36 صبح
من سلام دوستان من چند وقت قبل یک برنامه خواسته بودم الان خودم تا حدودی آن را نوشتم ولی در محاسبه ریشه معادله آن ثفر می آید اگر کسی بلد است کمک کند صورت سوال و برنامه نوشته شده به همراه تاژیک است

#include<stdio.h>
#include<math.h>
#include<conio.h>

float f(float x);
float power(float x,int i);
float m[10];
int n;
main()

{
clrscr();
float a,b,e,c,x,temp;
int i;
printf("input power of maeadeleh\n");
scanf("%d",&n);
for (i=n;i>=0;i--)
{
printf("zarayeb\n");
scanf("%f",&m[i]);
}
float t=0;
t=t+0.83+0.0064;
printf("a,b\n");
scanf("%f,%f",&a,&b);
printf("e\n");
scanf("%f",&e);
do
{
c=a-((b-a)/f(b)-f(a))*f(a);
if(f(c)<0)
temp=-1*f(c);
else
temp=f(c);
if(temp<e)
if (f(c)*f(a)>=0 )
a=c;
else
b=c; }while(temp>e);
printf("resheh=\n%f",c+t);
getch();

}
float pow1(float x,int i)
{
int m;
float power=1;
for(m=i;m>=0;m--)
power=power*x;

return power;
}
float f(float x)
{
float j=0;
int i;

for (i=n;i>=0;i--)
j=m[i]*pow1(x,i)+j;
return j;

}

سیدهانی
سه شنبه 23 تیر 1383, 11:40 صبح
به نام حق
سلام
ببین اینجا اشتباه کردی :
مخرج کسر وقتی که تابع ها از هم کم میشن باید در پرانتز باشن تا اولویت درست باشه
البته تا الان حتما" فهمیدی چجوریه ...
باید یه پرانتز هم دور f(b) - f(a) //b بذاری تو مخرج ...
البته برنامت بازهم اشکال داره ... مثلا تو scanf که تو زدی کاربر باید حتما اول یه عدد بزنه و برای عدد دوم حتما ویرگول بزنه! تو scanf باید با یه فاصله بگیریم ... (برای راحتی کاربر) یا تک تک
استیل برنامت هم مشخص نیست ... تورفتگی و اینها رو باید بذاری ... تا قابل فهم باشه!
من فایل رو دانلود کردم در ضمن وقتی محدوده رو براش مشخص می کنیم هم مشکل پیدا می کنه ...
بیشتر روش کار کن ...
راستی comment هم برای هر خط بذار
موفق باشی