السلام عليكم ورحمة الله وبركاته .......
اخوكم مبتدئ سي بلس بلس لكن احببت ان اشارك اخوتي هذه المعلومة :
الكود التالي يقوم بطباعة الاعداد من 10 الى 1 على الشاشة :
for(int i=10;i>0;i--)
{
cout<<i<<" ";
}حسنا الان تخيل معي انك لا تملك جملة For اي انها غير موجودة فما هو الحل بنظرك كي نقوم بمحاكاة
الكود السابق ؟؟؟ حسنا الحل يمكن في ما يسمى الاستدعاء التعاودي وهو استدعاء الدالة لنفسها !!!
اي اننا سف نقوم ببناء دالة تستدعي نفسها عدد من المرات كي تقوم بتنفيذ عمل معين والخروج
عندما يتحقق شرط معين وسوف تكون الدالة كالتالي :
void PrintNo(int no)
{
if(no<=0)
{
return;
}
cout<<no<<" ";
PrintNo(no-1);
}والان ماذا لو كان عندنا جملتين For واحدة داخل الاخرى كالتالي :
for(int i=4;i>=0;i--)
{
for(int j=i;j>=0;j--)
{
cout<<"*";
}
cout<<endl;
}الكود السابق يقوم بطباعة مثلث قائم الزاوية ولاحظ اننا استخدمنا جملتي For لذا فاننا سوف نقوم
ببناء دالتين الدالة الاولى سوف تمثل حلقة For الاولى والدالة الثانية سوف تمثل حلقة For الثانية :
void MainFor(int no); //First For
void PrintStars(int no); // Second For
main()
{
MainFor(5);
getchar();
return 0;
}
void MainFor(int no) //First For
{
if(no<0)
{
return;
}
PrintStars(no-1);
MainFor(no-1);
}
void PrintStars(int no) // Second For
{
if(no<0)
{
cout<<endl;
return;
}
cout<<"*";
PrintStars(no-1);
}بس لي رجاء صغير :wacko: :wacko:
صراحة انا تعبت :wacko: يعني معي ال MSDN ولكني لم استطع ان اخرج منه بحق ولا باطل يعني مثلا عندما كنت ابحث عن شئ مختص ب VB
صراحة كنت اجد ما ابحث عنه بلمح البصر ولكن مع ++C الموضوع متعب مرة واحد .
حتى اني حاولت البحث عن كلمة Cout ولكن الذي حدث ان النتيجة كانت سطرين عمي لا طلعوا ولا نزلوا بالله عليكم اعينونا على فهم ملفات ال MSDN حيث انني لا اريد ان اعتمد على الكتب بل اريد الاعتماد على ملفات Microsoft بشكل اساسي .
للعلم انا استخدم VC++ :lol: :lol: :lol:
اخوكم Dr.Pain