View Full Version : درخواست راهنمایی
nanateam
یک شنبه 08 دی 1392, 23:42 عصر
با عرض سلام و ادب
میخوام تابعی بنویسم که دو ارگومان را بپذیرد و ارگومان اول را به توان ارگومان دوم برساند ارگومان اول یک مقدار doble و ارگومان دوم یک مقدار صحیح مثبت یا منفی است.برنامه ای میخوام که از ان استفاده کنه
double power(double a , int b)
{
double c = 1;
for(int i = 1 ; i<= b ; i++)
{
c*=a;
}
return c;
}
int main ()
{
double a;
int b;
cin >> a;
cin >> b;
cout << power(a,b);
return 0;
}
اینو یکی از بچه های بسار خوب انجمن کمکم کرد و نوشتیم ولی برای منفی نمیدونیم چی میشه ممنون میشم اگه کم و کسری داره کمکمون کنید تا درست بشه
amirhossein.ha
دوشنبه 09 دی 1392, 17:00 عصر
برنامه هاتون رو توی تگ قرار بدید تا درست نمایش داده بشه .
برای توان منفی هم اول توان مثبت رو محاسبه میکنیم بعد معکوس میکنیم
میتونید از این تابع استفاده کنید که توان رو به صورت بازگشتی محاسبه میکنه :
double power(double a,int b)
{
if(!b)
return 1;
if(b<0)
return 1/power(a,fabs(b));
if(b==1)
return a;
return a*power(a,b-1);
}
اگه سوالی در مورداین تابع داشتی بپرس
nanateam
سه شنبه 10 دی 1392, 23:52 عصر
ببخشید الان نوشتیم اینجا رو ایراد گرفت
cin >> a;
cin >> b;
میشه کامل و بدون نقص بنویسید مشگلش از کجاست؟
amirhossein.ha
چهارشنبه 11 دی 1392, 23:23 عصر
باید بگید ارورش چیه تا حلش کنیم ولی فک کنم یکی از اینا باشه :
اگه iostram رو include نکرده باشید ارور میده
این خظ رو هم به بالای برنامه تون اضافه کنید اگه نباشه ارور میده :
using namespace std;
nanateam
پنج شنبه 12 دی 1392, 11:28 صبح
ممنونم اقا این رو یکی از دوستام نوشت و واسم فرستاد اما وقتی اجراش میکنم یه لحظه باز میشه و بسته میشه برنامه نویسی سالمه اما نمیدونم چرا اینجوریه
#include <conio.h>
#include <iostream.h>
#include <math.h>
void tav(){
double a,r=1,r1;
int b,i;
cout << "please 2 number for a^b : ";
cin >> a >> b ;
if (b>1){
for (i=1 ; i<=b ; i++){
r = (double)r*a;
}
cout << "result : " << r ;
}
else if (b==1){cout << "result : " << a ;}
else if (b<1) {
for (i=1 ; i<=abs(b) ; i++){
r = (double)r*a;
}
r1 = (double)1/r;
cout << "result : " << r1 ;
}
}
// ---------------
int main(){
tav();
getch();
return 0;
}
ممنون میشم راهنماییم کنید
کامبیز اسدزاده
پنج شنبه 12 دی 1392, 12:10 عصر
این رو تست کنید
#include <conio.h>
#include <iostream>
#include <math.h>
using namespace std;
void tav(){
double a, r = 1, r1;
int b, i;
cout << "please 2 number for a^b : ";
cin >> a >> b;
if (b>1){
for (i = 1; i <= b; i++){
r = (double)r*a;
}
cout << "result : " << r;
}
else if (b == 1){ cout << "result : " << a; }
else if (b<1) {
for (i = 1; i <= abs(b); i++){
r = (double)r*a;
}
r1 = (double)1 / r;
cout << "result : " << r1;
}
}
// ---------------
int main(){
tav();
_getch();
return 0;
}
nanateam
پنج شنبه 12 دی 1392, 20:44 عصر
دستتون درد نکنه کار داد ممنونم
کامبیز اسدزاده
پنج شنبه 12 دی 1392, 20:55 عصر
دستتون درد نکنه کار داد ممنونم
توجه کنید در کد شما گزینه getch(); رو به _getch(); تبدیل کردم زیرا در نسخه C++11 به اینور این موارد منسوخ شده اند.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.