السلام عليكم
السؤال هو كيف ترجع قيمتين في الداله (function) يعني
مثلا ابي داله ترجع مساحة الكره (22/7*r تربيع) وحجم الاسطوانه (22/7*h* rتربيع) h هو الارتفاع.
اللي يعرف لايبخل علينا.
مع تحياتي.
السلام عليكم
السؤال هو كيف ترجع قيمتين في الداله (function) يعني
مثلا ابي داله ترجع مساحة الكره (22/7*r تربيع) وحجم الاسطوانه (22/7*h* rتربيع) h هو الارتفاع.
اللي يعرف لايبخل علينا.
مع تحياتي.
الفنكشن ما ترجع شيئين ...
أكتب 2 فنكشن ، وحده للأسطوانه و الثانيه للكرة و داخل ال main عدل المعادلة
شنو أهو السؤال بالضبط ...
ممكن أساعدك
ياخوي claire مشكور على التجواب .
السؤال يقول اكتب داله اسمها compute التي تستقبل rdiusa وترجع حجم الكره والاسطوانه؟
مستخدما دالتين وحده للحجم الكره والاخرى لحجم الاسطوانه.
بالنسبه rdiusa هو نصف القطر.
هذا هو السؤال جانا في الاختبار .
صراحه أنا إلي أعرفه إن الداله ما ترجع إلا شي واحد !! أو إنك تقصد في الدالة نفسها تسوي للدالتين كول ؟ ... بس في النهايه راح ترجع جواب واحد و إذا كتبت في الرتيرن الداله نفسها راح يصير ريكرسف على ما أعتقد ...السؤال يقول اكتب داله اسمها compute التي تستقبل rdiusa وترجع حجم الكره والاسطوانه؟
ما أدري لكن إلى الآن مو راضي السؤال يدخل مخي ... مو مستعبه عدل ، سويت لك برنامج ، أدري إنه غلط لأني ما عرفت وظيفة COMPUTE إلى الآن ... لكن النواتج تطلع جربها
#include <iostream>
using namespace std ;
double sphere ( double ) ;
double cylindrical ( double , double ) ;
int main ()
{
double High , Radius ;
cout << " please enter Radius : " ;
cin >> Radius ;
cout << " and High : " ;
cin >> High ;
sphere ( Radius ) ;
cylindrical ( High , Radius ) ;
cout << " sphere " << sphere ( Radius ) << "\n" ;
cout << " cylindrical " << sphere (High ) << endl ;
return 0 ;
}
double cylindrical ( double h , double r )
{
double ans ;
ans = h * r * r * ( 7.0/22.0 ) ;
return ans ;
}
double sphere ( double rad )
{
double ans ;
ans = rad * rad * ( 7.0/22.0 ) ;
return ans ;
}
سوري لأني ما ساعدتك في شي -_- لكن بحاول لو فهمت عدل المسأله
بص يامعلم في حاجة اسمها passing arguments by refrence
والحجاة ديه بتخليك ترجع قيمتين او اي قيمه انته عايزه وديه فيها حاجة كده من pointer لو تعرفها
المهم الريتيرن باي ريفرنس بتجع القيم من الجوه موش لازم تعملها ريتيرن يعني زي كده
void fun (float radios,double cyl,cir ):
بس بتيجي الاول وتعرف متغيرات من نوع اي حاجة بس ريفرنس
المهم انته بتيجي تدخل من جوه وتظبط الفانكشن بتاعتك في الديفنشن بتاعها
على العموم الحل للسؤال بتاعك ده هتلاقيه مرفق مع الرسالة
مشكور على التجاوب.
عموما راح اشوف الجواب .
في الحقيقة السؤال هذا كتير حلو ................. اليك الحل
#include <iostrea.h>
void volume(double r ,void h)
{
double w;
char s;
cin>>s;
(if s=='S') //for sphere
{
cin>>r;
cin>>h;
w=(r*r)*7/22;
cout<<"VOLUME:"<<w<<endl;
}
else
w=(h*h)*r*7/22;
cout<<"VOLUME:"<<w<<endl;
}
int main()
{
double rad;
double height;
cin>>rad;
cin>>height;
cout<<"VOLUME:"<volume(rad,height)<<endl
return 0;
}
هذا هوا الكود
أتمنى اني أقدر أساعدك أكثر
راح تواحه شغلات مو مرتبه فيه
بس أكيد راح يعجبك انشاء الله
السلام عليكم
انت اكيد في جامعه الملك سعود![]()
الله يرحم حالنا
حل السؤال سهل جدا
اهم شي انك في compute لازم ترجع القيمتين عن طريق الrefrance و هي انك ترسل قيمتين من الداله main و لما تستقبلها في compute تخليه يستقبله عن طريق refrance & ثم تحسب الاحجام على كيفيك هذي الطريقه تسمى call by refrance حيث اي تغيير في قيمه المتغير في الداله المستدعاه يؤثر على القيمه المرسله في الداله المستدعيه summoner و اذا ارسلت قيمه بدون علامة & يكون call by value و حيث التغيير في قيمه المستقبله في الدالة المستدعاه لا يؤثر على القيمه المرسله في ال summoner سهله صح![]()
اخوي اذا ما فهمت شي عادي علشان انا قريت الي كتبته ولا فهمت شي بس بحطه يوم كتبته
الا اقول اي دكتور يدرسك الاحمدي ولا كمال ( الجزائري الحيوان ) ولا الصغير؟![]()
Soulstaker of Ragnarok
هلا والله انت معنا اجل الله يعين .
الا اقول اي دكتور يدرسك الاحمدي ولا كمال ( الجزائري الحيوان ) ولا الصغير؟
ولا واحد منهم. بالنسبه للجزائري اقول شويه عليه حيوان
مشكور اخوي m_fuad على المشاركه وعلى طرحك للحل.