المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : سؤال في البرمجه(++C)



سمو
14-01-2004, 07:57 PM
السلام عليكم

السؤال هو كيف ترجع قيمتين في الداله (function) يعني

مثلا ابي داله ترجع مساحة الكره (22/7*r تربيع) وحجم الاسطوانه (22/7*h* rتربيع) h هو الارتفاع.

اللي يعرف لايبخل علينا.

مع تحياتي.

Angel- lady
14-01-2004, 08:39 PM
الفنكشن ما ترجع شيئين ...

أكتب 2 فنكشن ، وحده للأسطوانه و الثانيه للكرة و داخل ال main عدل المعادلة

شنو أهو السؤال بالضبط ...

ممكن أساعدك

سمو
15-01-2004, 12:50 AM
ياخوي claire مشكور على التجواب .

السؤال يقول اكتب داله اسمها compute التي تستقبل rdiusa وترجع حجم الكره والاسطوانه؟
مستخدما دالتين وحده للحجم الكره والاخرى لحجم الاسطوانه.
بالنسبه rdiusa هو نصف القطر.

هذا هو السؤال جانا في الاختبار .

Angel- lady
15-01-2004, 09:39 AM
السؤال يقول اكتب داله اسمها 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 ;

}

سوري لأني ما ساعدتك في شي -_- لكن بحاول لو فهمت عدل المسأله

hzoma1
15-01-2004, 03:09 PM
بص يامعلم في حاجة اسمها passing arguments by refrence
والحجاة ديه بتخليك ترجع قيمتين او اي قيمه انته عايزه وديه فيها حاجة كده من pointer لو تعرفها
المهم الريتيرن باي ريفرنس بتجع القيم من الجوه موش لازم تعملها ريتيرن يعني زي كده
void fun (float radios,double cyl,cir ):
بس بتيجي الاول وتعرف متغيرات من نوع اي حاجة بس ريفرنس
المهم انته بتيجي تدخل من جوه وتظبط الفانكشن بتاعتك في الديفنشن بتاعها
على العموم الحل للسؤال بتاعك ده هتلاقيه مرفق مع الرسالة

سمو
15-01-2004, 07:10 PM
مشكور على التجاوب.

عموما راح اشوف الجواب .

m_fuad
15-01-2004, 07:34 PM
في الحقيقة السؤال هذا كتير حلو ................. اليك الحل
#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;
}

هذا هوا الكود
أتمنى اني أقدر أساعدك أكثر

راح تواحه شغلات مو مرتبه فيه
بس أكيد راح يعجبك انشاء الله

السلام عليكم

soultaker
17-01-2004, 02:46 AM
انت اكيد في جامعه الملك سعود :D
الله يرحم حالنا :31:
حل السؤال سهل جدا
اهم شي انك في compute لازم ترجع القيمتين عن طريق الrefrance و هي انك ترسل قيمتين من الداله main و لما تستقبلها في compute تخليه يستقبله عن طريق refrance & ثم تحسب الاحجام على كيفيك هذي الطريقه تسمى call by refrance حيث اي تغيير في قيمه المتغير في الداله المستدعاه يؤثر على القيمه المرسله في الداله المستدعيه summoner و اذا ارسلت قيمه بدون علامة & يكون call by value و حيث التغيير في قيمه المستقبله في الدالة المستدعاه لا يؤثر على القيمه المرسله في ال summoner سهله صح :D

اخوي اذا ما فهمت شي عادي علشان انا قريت الي كتبته ولا فهمت شي بس بحطه يوم كتبته :31:

الا اقول اي دكتور يدرسك الاحمدي ولا كمال ( الجزائري الحيوان ) ولا الصغير؟ :33:

سمو
18-01-2004, 07:52 PM
هلا والله انت معنا اجل الله يعين .
الا اقول اي دكتور يدرسك الاحمدي ولا كمال ( الجزائري الحيوان ) ولا الصغير؟

ولا واحد منهم. بالنسبه للجزائري اقول شويه عليه حيوان


مشكور اخوي m_fuad على المشاركه وعلى طرحك للحل.