PDA

View Full Version : سوال: در خواست برنامه حل محاسبات عددي



mahmood_v
چهارشنبه 30 اردیبهشت 1388, 15:14 عصر
حل محاسبات عددي به روش تكرار ساده كككككككمممممممممممممممككك ككككككككككك:عصبانی++:

mg_mahyar
چهارشنبه 30 اردیبهشت 1388, 15:39 عصر
حل محاسبات عددي به روش تكرار ساده كككككككمممممممممممممممككك ككككككككككك:عصبانی++:
منظورتون نرم افزار برای درس محاسبات عدیدی هست؟
mathlab رو تهیه کن خلی خوبه

mortezamsp
جمعه 01 خرداد 1388, 00:38 صبح
با سلام.

این تکرار ساده حل میشه ولی نیاز به اصلاح داره.درستش کن.اصلاحش اینه که اولا باید int رو float کنی و دوم اینکه شرط حلشه و درستش کنی.



//========================
#include<iostream.h>
#include<conio.h>
#include<math.h>
//========================
int sgn(int x)
{ if(x>=0) return(x); else return(-x); }
//========================
void swap(int &x,int &y)
{ int z=x; x=y; y=z; }
//========================
int func(int x)
{ //float r=pow(float(x-5),float(1.5));
int r=(x*x)-(4*x);
//int r=x-5;
return(int(r));
}
//========================
void tasnif()
{
clrscr();
cout<<"\n\n************* T A N S I F ****************";
int a,b,e;
cout<<"\nenter first dots x,y and e (E*10^...)\n";
cin>>a>>b>>e;
float E=1/(10^e);
int x=0;
int steps=0;
int sgn_f=1;
while( sgn_f > E )
{
if(steps>0)
cout<<"\nstep: "<<steps<<"\n\tx: "<<x<<" f: "<<func(x);
steps++;
//--------------
x=(a+b)/2;
//--------------
cout<<"\n\ta:"<<a<<", f(a):"<<func(a) <<", b:"<<b<<", func(b):"<<func(b);
//--------------
int fax=func(a)*func(x);
if( fax >= 0 )
swap(x,a);
else
swap(x,b);
//--------------
sgn_f=sgn(func(x));
getch();
}
cout<<"\nafter "<<steps<<"steps, calced x = "<<x;
getch();
}
//-----------------
int main()
{
clrscr();
tasnif();
getch();
return(0);
}


بعدشم خواهشا اینجا از کسی برنامه نخواه.فکر نکنم کسی بهت جواب بده. اینجا کسی بهت کد نمیده اما اگه مشکلی داشتی میتونی بپرسی.