PDA

View Full Version : سوال: بدست آوردن توان اعداد در C



armin90
جمعه 03 آبان 1387, 16:38 عصر
سلام
کسی می دونه چطوری میشه توان اعداد رو در C بدست آورد؟(تابع داره؟ یا اینکه باید بنویسیم؟)
مثلآ اگه بخوام :3 ^ 2 رو بدست بیارم چیکار کنم؟

Nima_NF
جمعه 03 آبان 1387, 18:19 عصر
با توجه به نسخه کامپایلر خود از کتابخانه math.h یا cmath و تابع pow استفاده کنید:



#include <stdio.h>
#include <math.h>
// or #include <cmath>

int main ()
{
double x;

x = pow (2,3); // 2^3
// other codes
return 0;
}

Special
شنبه 28 آذر 1388, 07:08 صبح
حالا اگه بخوایم توان یک عدد اعشاری باشه از چه تابعی باید استفاده بشه؟
چون این تابعی که نوشتید برای توان صفر ، منفی و غیر صحیح جواب نمیده و مبنا هم نمیتونه صفر یا منفی باشه..
با توان اعشاری چیکار باید کرد؟
:ناراحت:

Salar Ashgi
شنبه 28 آذر 1388, 12:15 عصر
تابع pow موجود در فایل کتابخانه ای math.h فقط برای توانهای صحیح جواب میده و برای توانهای اعشاری

(همانطور که قبلا هم این موضوع بررسی شده ) باید از بسط تابع نمایی و ویژگی تابع لگاریتم استفاده کرد .

موفق باشید .

Special
شنبه 28 آذر 1388, 18:53 عصر
ممنون میشم اگه توضیح بدید چه جوری میتونم این کارو انجام بدم.
بازم ممنون.

rroona
شنبه 28 آذر 1388, 22:36 عصر
ممنون میشم اگه توضیح بدید چه جوری میتونم این کارو انجام بدم.
بازم ممنون.

میتونی از یه forبرای بدست اوردن مثلاa^p استفاده کنی


double i,a,p,m=1;
cin>>a>>p;
for(i=1;i<=p;i++)
m*=a;
cout<<endl<<m;

Special
یک شنبه 29 آذر 1388, 11:35 صبح
میتونی از یه forبرای بدست اوردن مثلاa^p استفاده کنی


double i,a,p,m=1;
cin>>a>>p;
for(i=1;i<=p;i++)
m*=a;
cout<<endl<<m;
فکر کنم منظور من رو متوجه نشدید..!!
عرض کردم توان یک عدد اعشاری ی.
چطوری با حلقه ی For میشه مثلا 2.7 یا 3.9 بار چرخید؟

Salar Ashgi
یک شنبه 29 آذر 1388, 12:08 عصر
روش معمولش استفاده از فرمول زیر و بسط مک لورن تابع f(x) = e^x میباشد :

فرمول مورد نظر :



a ^ b = e^(b*Ln(a))


بسط مک لورن تابع نمایی هم توی اکثر کتابای حساب دیفرانسیل پیدا میشه .

موفق باشید .

#somayeh#
پنج شنبه 13 آبان 1389, 11:43 صبح
ببخشیدمن این کد رو تو c++ زدم جواب نداد!اگه بخوایم تو c++ از تابع توان استفاده کنیم باید چکار کنیم؟کامپایلرم هم visual studio 2010 هستممنون می شم اگه کسی منو راهنمایی کنه

sara_93
دوشنبه 01 خرداد 1391, 22:34 عصر
سلام ...
می خواستم بدونم چه طوری میشه با وارد کردن یه عدد مثل x توان های فرد عدد رو چاپ کرد؟
می خوام بدونم چه طوری توان رو بدم؟
مرسی

Ananas
دوشنبه 01 خرداد 1391, 23:17 عصر
سلام.
تابع pow که تو فایل math.h هست برای اعداد اعشاری هم جواب میده هم پایه اعشاری باشه و هم توان. اگرم خوتون خواستید تعریف کنید به این شکله :

#include <math.h>
long double PowerReal(const long double Base, const long double Exponent)
{
return (expl(Exponent * logl(Base)));
}

دقت کنید اعداد منفی رو نمیتونیم با این روش به توان اعشاری برسونیم چون لگاریتم برای اعداد منفی تعریف نشده هست یعنی اینجا: log(base)i ارور میده. اعداد منفی رو به توان اعداد صحیح میشه رسوند که باید از ضرب استفاده کنی و فرمولشو بنویسی.

fariba-2
جمعه 11 اسفند 1391, 17:09 عصر
در مورد نسخه کامپایلر گفتین. الان کامپایلر من dev4.9.2 یعنی خیلی قدیمیه؟ آخه حتی بعد از اینکه برنامه run هم میشه هنوز داره اون پایین خطا میگیره.
با تشکر فریبا

UfnCod3r
جمعه 11 اسفند 1391, 18:33 عصر
DevCPP خودش IDE هست کامپیلرش MinGW یا همون GCC ویندوزیه !
DevCPP اصلا محیط خوبی برا کد نویسی نیست !
اگه تو ویندوز هستین که بهتره از VS2010 استفاده کنید ! اگه وی اس نخواستید از CodeBlock استفاده کنید . اینطوری هم راحت تر میشید هم کار سریع تر پیش میره !
میل خودتونه
با تشکر
من

mmohadese
سه شنبه 13 آبان 1393, 18:21 عصر
salam man mitonam ye codi ke neveshtam doros ejra nemisharo inja bezaram eshkalesho behem begid?

مسعود اقدسی فام
سه شنبه 13 آبان 1393, 18:56 عصر
salam man mitonam ye codi ke neveshtam doros ejra nemisharo inja bezaram eshkalesho behem begid?

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

white0crow13
یک شنبه 15 بهمن 1402, 12:36 عصر
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
long long a;
a = pow (2,4);
cout <<a;
}