الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال في الfunction

مغلق
بدأه السي بلس بلس في 29 أبريل 2003 · 7 رد · 857 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أرجو من الاخوة مساعدتي في كتابة هذه الدالة....الدالة تقوم بنفس عمل

(sqrt )أي توجد الجذر التربيعي للعدد ...وأنا حاولت فيها بعدة طرق ومن هذه الطرق استخدام دالة (power وهي دالة توجد الأس بحيث يدخل المستخدم الأساس والأس ولكن في هذه الدالة أنا استخدمت الloop ودالة الجذر التربيعي أسها 1/2 وفي الloopدائماً يكون عدد مرات التكرار عدد صحيح;)

(وللعلم أنا طالب ومن مدة بسيطة أخذنا الدوال وحاولت أعمل دوال للدوال المعرفة في ملف< math.h> ولله الحمد استطعت عمل بعض هذه الدوال ولكن لم استطع عمل دالة الجذر التربيعي ...فأرجو منكم المساعدة...)

#2

I think

your Error in 1/2 in c++ =0

try with 0.5

cann u write the code and I think, I'll help you

اللهم انا نسألك علما نافعا ونعوذ بك من حماقة الجهلاء
#3

#include

int square_rot(int a);

int main()

{

int x;

cout<<"please enter the base number xn";

cin>>x;

cout<<"the result="<

return 0;

}//end main

int square_rot(int a)

{

return(a^0.5);

}

بس أنا اذا كتبت aأس 0.5يكتب لي error

#4

حياك الله أخوي (السي بلس بلس ) ...

أولا لغة البرمجة سي ++ لا تحوي العنصر (^) ضمنها بالمعنى الذي تقصده ..

ولكن هناك طريقه أخرى ... وهي استخدام الـ ومنه أستخدم الأمر pow()

وبالنسبة للنواتج .. فستظهر على شكل عدد صحيح اذا غيرت الـint الموجوده بالـfunction إلى float :-

#include
#include 

float square_rot(int a);
int main()
{
int x;
cout<<"please enter the base number xn";
cin>>x;
cout<<"the result="<return 0;
}//end main
float square_rot(int a)
{
return (pow(a,0.5));
}
//---------------- end
#5

يمكن استخدام الرمز ^ بدلاً عن تابع pow المعرف ضمن الملف math.h وذلك بالتصريح عن تابع overloading Operator يستخدم هذا الرمز , وبالتالي يمكن استدعاء هذا التابع عند الحاجة إليه.

#6

ممكن توضح كلامك أكثر أخوي/أختي n2003 بمثال

#7

الأخ hmuslem من أخيك n2003:

مثال عن الكود:

// File: OverLoading Operator ^



#include <iostream>

#include <cstdlib>

#include <cmath>

using namespace std;



class integer

{

  private:

   long x;

  public:

   integer(long i) { x = i;}

   long operator^(int);

};



long integer::operator^(int power)

{

  if (power == 0) return 1;

  long temp = x;

  for (int i = 1; i < power; i++) temp *= x;

  return temp;

}



class real

{

   double d;

  public:

   real(double arg) { d = arg;}

   double operator^(double);

};



double real::operator^(double power)

{

  if (d == 0 && power == 0)

  {

    cout << "0 ^ 0 is undefinedn";

    exit (1);

  }

  if (d < 0 && power != floor(power))

  {

    cout << "You may only take integer powers of negative numbersn";

    exit (1);

  }

 return pow(d,power);

}



int main (void)

{

  integer z(2), y(3);

  cout << (z^5) << endl;

  cout << (y^0) << endl;

  real r1(3.14), r2(6.02e23), r3(1.2345);

  cout<< (r1^2) << endl;

  cout<< (r2^3) << endl;

  cout<< (r3^0) << endl;

  cout<< (r1^3.14) << endl;

  real r4(-1.4);

  cout << (r4^3) << endl;

  cout << (r4^1.3) << endl;



  return 0;

}
#8

حبييبي يا سي بلس بلس الرمز ^ ليس بلغه السي اتوقع انك تعمل على البيسك يوجد بدائل عن ^ اشهرها ملف MATH.H وتوجد به داله POW

لكم مني خالص التقدير

*********************

دروس الاكسس

قاعدة بيانات بالسي++

قاعدة بيانات اخرى بالسي++

الفريق العربي للبرمجه

*********************

كان الله في عون العبد مادام العبد في عون اخيه

هذا الموضوع مغلق.

مواضيع مشابهة