PDA

View Full Version : مشکل جدی در محاسبه ریشه N ام یک عدد



computer-mag
شنبه 17 فروردین 1387, 22:11 عصر
سلام برنامه ای به این سورس می خواد که ریشه N ام رو حساب کنه ولی میگن ایراد داره و درست جواب نمی ده و اشتباه حساب می کنه مشکلش چی هست؟اگه تونستین کد تصجیج شده رو بنویسید مرسی!


#include <conio.h>
#include <iostream.h>
#include <math.h>
int main()
{
int x,i,j,q,p;
float s1,s2,n,err;
cout << " enter x, err : ";
cin>>x;
cin>>err;
i=1;
n=1;
s1=1;
q=1;

while(n>err)
{
p=1;
for(j=1;j<=i;j++)
p=p*j;

s2=s1+(pow(x,i)/p);

i=i+2;
n=s2-s1;
s1=s2;

}
cout<<"\n Result is:"<<s2<<endl;
getch();
return 0 ;
}

computer-mag
سه شنبه 20 فروردین 1387, 22:01 عصر
کسی اینجا کمکی نمی خواد به من بکنه؟ به خدا گیر کردم!توی گروه دلفی جواب دادنها خیلی خوبه ! امیدوارم اینجا هم اینجوری باشه!

amir_cpp
یک شنبه 25 فروردین 1387, 14:01 عصر
سلام.
ببخشید می شه بیشتر توضیح بدین، من یکم ریاضیم ضعیفه!
مثلا ریشه سوم 27 می شه چند؟

A_Salimi
یک شنبه 25 فروردین 1387, 14:30 عصر
من یک نگاه سطحی به برنامه کردم و حداقل اولین ایرادی رو که میشه گرفت اینه :
اگه دقت کنید مقدار n در ابتدا یک هستش و اگه هر کسی برای مقدار err مقداری بزرگتر از یک رو بده ، برنامه حلقه while رو رد میکنه و s2 مقداری نمیگیره و در خروجی یه جواب عجیب غریب میبینید.
بهترین راه برای محاسبه ریشه n ام اینه . . .
ریشه n ام x برابر است با x به توان معکوس n

موفق باشید .

farhadamin
یک شنبه 25 فروردین 1387, 14:58 عصر
نمی دونم منظورت را درست فهمیدم یا نه اما فکر کنم یک همچین چیزی میخواهی...



#include <iostream>
#include <conio.h>
#include <cmath>
#include <math.h>
using namespace std ;

int main()
{
double x,s2,err;
cout << " enter x: ";
cin>>x;
cout << " enter err : ";
cin>>err;

s2=pow(x,1/err);

cout<<"\n Result is:"<<s2<<endl;
_getch();
return 0 ;
}

البته اون while همون جوری که دوستمون گفت اشتباه است.... و نفهمیدم برای چی این همه متغیر معرفی کرده بودی.... موفق باشی......

computer-mag
یک شنبه 25 فروردین 1387, 21:27 عصر
راستشو بخواین این برنامه رو من ننوشتم چون اصلا از خانواده سی هیچ کدومو بلد نیستم!این برنامه رو یه برنامه نویس مثلا حرفه ای!برای یکی از فامیلام نوشته بود! بعد اشتباه میکرد داد به من که دیباگ کنم و منم که سی بلد نبودم از شما ها کمک گرفتم امیدوارم درست باشه این برنامه ای که دوست خوبمfarhadamin برام گذاشته درست کار کنه که خیلی بهم لطف شده و من و شرمنده کردین