حل معادله در سی پلاس پلاس - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

حل معادله در سی پلاس پلاس

+1 امتیاز

سلام دوستان من میخوام مقدار x و n رو از ورودی بخونم و معدله زیر حل کنم

سوال شده اردیبهشت 4, 1393  بوسیله ی Mr.Mohammad (امتیاز 189)   17 17 24
دوباره تگ گذاری شد شهریور 5, 1393 بوسیله ی BlueBlade
منظورت اینه که جمع سری رو می خوای؟
ببینید ما یک xداریم داخل معادله بالا به همراه یک n که با گرفتن این دو باید معادله رو حل کرد

حالا منظور شما از سری رو نمیفهمم
ببین n تعداد جمله هاته مثلا یه حلقه میزاری تا 10 تا سری این جملاتتو محاسبه میکنه بگو خوب. x هم یه متغیره که داره توی هر جمله 2 تا به توانش اضافه میشه و در مخرج هم دقیقا همون توانها به صورت فاکتوریل اومده پس در هر بار اجرای حلقت وقتی 2 واحد به توان x اضافه کردی باید همونجا فاکتوریلشم حساب کنی و با جملات قبلیش جمع یا منها کنی میبینی که یکی در میون هم داره مجملات رو جمع و منها میکنه ... بگو خوب در آخر شما یک عدد که نمایش محاسبه سریتون هست دارین.
کاملا درسته آفرین
مرسی
اون sum اشتباهه
این معادله sinx هست.
پس برای همین یک بار + میشه یک بار -
خوب اگه n=1 باشه دیگه معادل (sin(x نیست... یا هر n طبیعی دیگه ای...
چرا هست ... این برای هم ارزی ها استفاده میشه .
بسط تیلوره
http://en.wikipedia.org/wiki/Sine
سلام!
متوجه هستم منظورتون چیه...
منظور من این بود که n باید به بی نهایت میل کنه تا sum دقیقا برابر (sin(x بشه... به ازای یه n طبیعی مشخص دیگه برابر (sin(x نیست...
استفاده از یه n طبیعی برای هم ارزی ها شرط و شروطی داره... احتمالا تا به حال متوجه شده باشید که گاهی هم ارزی sin(x) ~ x جواب نمی ده و باید مثلا از !sin(x) ~ x - x^3/3 استفاده کنیم یا...؟
سلام علیکم!
این موضوع های هم ارزی دیگه مربوط به این سوال نمیشه !
در سوال هم ذکر نشده بود یک n مشخص ... یک بسط بود که گفتم برابر sinx می باشد
بله در برخی از هم ارزی ها باید جور دیگری نوشت ...

3 پاسخ

+2 امتیاز
 
بهترین پاسخ
#include <iostream>

using namespace std;

int main()
{
    int n,x;
    cin>>x>>n;

    double sum=0;
    int sign=1;
    for(int i=1;i<=n;i+=2)
    {
        int pw=x;
        for(int j=1;j<i;j++)
        {
            pw *=x;
        }
        int fac=1;
        for(int j=1;j<=i;j++)
        {
            fac*=j;
        }
        sum  += sign* (double)pw /fac;
        sign *=-1;
    }
    cout<<sum;
}

 

پاسخ داده شده اردیبهشت 4, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
انتخاب شد اردیبهشت 4, 1393 بوسیله ی Mr.Mohammad
مرسی فقط اگر میشه پست زیر هم راهنمایی کنید چون میخوام بدون تابع باشه

http://www.7khatcode.com/index.php?qa=3600&qa_1=%D8%B1%D8%B3%D9%85-%D8%B4%DA%A9%D9%84-%D8%B3%DB%8C-%D9%BE%D9%84%D8%A7%D8%B3-%D9%BE%D9%84%D8%A7%D8%B3
0 امتیاز
#include <iostream>

using namespace std;

int main(){
	double sum=0,x,jomleghabl;
	int n;
	cout << "Please Enter x & n (Separate With Space) \n";
	cin >>  x >>  n;
	jomleghabl = -((x*x*x)/6);
	sum=x+jomleghabl;
	for (int i =3; i <= n ;i++){
		jomleghabl *= -((x*x)/(i+1));
		sum += jomleghabl  ;
	}
	cout << "sum is : " <<  sum;
return 0;
}

 

پاسخ داده شده اردیبهشت 4, 1393 بوسیله ی Fire360Boy (امتیاز 2,524)   6 24 43
ویرایش شده اردیبهشت 5, 1393 بوسیله ی Fire360Boy
+3 امتیاز
int _tmain(int argc, _TCHAR* argv[])
{
	float x = 2.f;
	float pow = 1.f;
	int fact = 1;
	int n = 9;
	float sum = 0;
	int sign = 1;
	for (int i=1; i <= n;i+=2){
		pow *=x; 	
		fact *= i;

		sum += sign *( pow / fact); 

		sign *=-1;
		pow *= x;
		fact *= i+1;
	}
	cout << sum;


	
	return 0;
}

 

پاسخ داده شده اردیبهشت 4, 1393 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
ویرایش شده اردیبهشت 4, 1393 بوسیله ی مصطفی ساتکی
...