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

سؤال: فى طريقة افضل لكتابة البرنامج ده؟

بدأه *toni1992* في 15 ديسمبر 2010 · 18 رد · 1,208 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

#include<iostream.h>

int main()

{

int i,n=6

for(i=1;i<=n;i++)

{

if(i=1)

cout<<"*";

else

if(i=2)

cout<<"**";

else

if(i=3)

cout<<"***";

else

if(i=4)

cout<<"****";

else

if(i=5)

cout<<"*****";

else

cout<<"******";

}

return 0;

}

المشكلة انه لو n اكبر او رقم كبير مش عارف اكتبه ازاى فى الحالة ديه!

1 −1
#2

تفضل:

 

#include<iostream.h>


int main()
{
int n;
cout<<"\nEnter a number: ";
cin>>n;
for(int i=1;i<=n;i++)
{
  for(int j=0; j<i; j++)
   cout<<'*';
  cout<<endl;
}

return 0;
}

بالتوفیق >(

تم تعديل هذه المشاركة بواسطة C77431 في 15 ديسمبر 2010 في 23:21

1
#3

شكرا و لو فيها رذالة ايوه هو الكود المناسب فى عمل الاشكال الهندسية بالسى بلس بلس

#4

انا لسه سنة اولى برمجة فى السى بلس بلس

و المشكلة انى لما درست درست حاجات معينة مش كل حاجة فارجوكم تحملونى.

#5
*toni1992* كتب:

شكرا و لو فيها رذالة ايوه هو الكود المناسب فى عمل الاشكال الهندسية بالسى بلس بلس

لم افهم قصدك جيدا ولكن انتي كنتي تريدي التعامل مع الجرافيك فيمكنك استخدام OpenGL او DirectX

2coscqr.jpg
#6

انا عايز ارسم اشكال زى ده مثلا

*****

*****

*****

بس المشكلة انى لسه مبتدأ فى السى و خدمة تانية

ايه هو الفرق بين ال

recursive function and function

#7
*toni1992* كتب:

انا عايز ارسم اشكال زى ده مثلا

*****

*****

*****

بس المشكلة انى لسه مبتدأ فى السى و خدمة تانية

ايه هو الفرق بين ال

recursive function and function

السلام عليكم

المفروض بتعمل بعض التعديلات البسيطة بالكود السابق وتفكر شوي, عموماً مو مشكلة :happy:

الكود التالي كمثال لرسم مربعات أو مستطيلات بحسب الأبعاد المطلوبة (العرض والطول)

#include<iostream>
using namespace std;

int main()
{
    int w,h;
    cout <<"Enter the width: ";
    cin >> w;
    cout << "/nEnter the hight: ";
    cin >> h;

    for(int i = 1; i <= h; i++)
    {
      for(int j = 0; j < w; j++)
      {

          cout << '*' << ' ' ;
      }


      cout << endl;

    }

    return 0;
}

,.,.,.,.,.,.,.,.

بخصوص الفرق بين function و Recursive Function تتلخص في التالي:

الـ Recursive Function هو عبارة عن Function عادي ولكنّه يقوم باستدعاء ذاتي حتى الإنتهاء من عمليته...مش اكتر

حاول دراسة المسال التالي:

#include<iostream>
using namespace std;


void myFunction( int counter)
{
if(counter == 0)
     return;
else
       {
       cout<<"hello"<<counter<<endl;
       myFunction(--counter);
       cout<<counter<<endl;
       return;
       }
}
int main()
{

    myFunction(10);

    return 0;
}

الدالة myFunction بالمسال السابق من الرابط التالي

C++ Recursion with ...

آسفة باللغة الإنجليزية الدرس ولضيق وقتي لا استطيع أن أنقل المفهوم كاملاً

ولكن هذا الفرق بينهما ببساطة (الإستدعاء الذاتي)

موفق

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#8

شكرا جزيلا جدا جدا على المساعدة

#9

بس لو فيها رزالة مفيش شرح بالعربى لانى فى حاجات كتيرة مش فاهمة

#10

حسناً سأحاول تدريجياً على الأقل وللفت إنتباهك إلى جوهر الـ recursive function من المسال السابق myFunction...

من خلال الكود التالي

void myFunction( int counter)
{
if(counter == 0)
     return;
else
       {
       cout<<"hello"<<counter<<endl;
       myFunction(--counter);
       cout<<counter<<endl;
       return;
       }
}

لاحظ السطر التالي من الكود السابق داخل الدالة myFunction نفسها

myFunction(--counter);

بتلاحظ هذا ما يُعرف بالإستدعاء الذاتي وهي أن الدالة تستدعي نفسها داخل الجسد والهيكل الخاص بها

استدعاء الدالة myFunction داخل الدالة الرئيسية main من مشاركتي السابقة هو استدعاء عادي وعندما نقوم بهذا الإستدعاء, تقوم الدالة myFunction بعملها واستدعاء ذاتها داخل جسدها

المقصود بالجسد هنا هو كل ما بداخل الأقواس المجعدة {...} الخاصة بها.

حاول أن تسأل عن الغموض للإجابة عنها وسأكون متابعة للموضوع بقدر الإمكان إن شاء الله :happy:

موفق يارب

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#11

يعنى فى ال recurive

بكتب تعربف الدالة الاول بعد كده البرنامج

عكس ال function بكتب البرنامج و بعد كده الدالة

#12
*toni1992* كتب:

يعنى فى ال recurive

بكتب تعربف الدالة الاول بعد كده البرنامج

عكس ال function بكتب البرنامج و بعد كده الدالة

هل تقصد من البرنامج هنا بالدالة الرئيسية main ؟

إذا كان هذا المقصود فلا بأس سأعيد الترتيب بالطريقة المعتادة(النموذجية)...

تفضل

#include<iostream>
using namespace std;

void myFunction(int counter);

int main()
{

    myFunction(10);

    return 0;
}

void myFunction( int counter)
{
if(counter == 0)
     return;
else
       {
       cout<<"hello"<<counter<<endl;
       myFunction(--counter);
       cout<<counter<<endl;
       return;
       }
}

كل ما تراه في صندوق الكود هو برنامج...

عادية وهي مباديء عادية :happy:

موفق

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#13

ليا استفسار يعتبر غبى انا عارف لكن فى كل برامج ال recursive بلاقى انه دايما فى الدالة بيحطوا if

هل ده صحيح؟

#14

هو فى طريق اقدر احول اى كود مكتوب بال if الى for

#15
*toni1992* كتب:

ليا استفسار يعتبر غبى انا عارف لكن فى كل برامج ال recursive بلاقى انه دايما فى الدالة بيحطوا if

هل ده صحيح؟

لأ مش اصتنصاد! :happy:

أبداً مش استفسار غبي بالمرة ولكن الـ if عادية ومجرد أداة شرطية مش اكتر والأفضل ما نشغل بالنا بهيك تفاصيل وتساؤلات!

موفق يارب

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#16
*toni1992* كتب:

هو فى طريق اقدر احول اى كود مكتوب بال if الى for

بنقدر نعمل من الفسيخ شربات ولكن ما بنقدر نعمل من جملة شرطية جملة تكرارية!! :happy:

الجملة if بنستعملها للأختيار والشرط والجملة for جملة تكرارية لحتى نعمل حلقات تكرارية بتلف حول الأوامر

بينما نستطيع استعمال for بدلاً من while و switch بدلاً من if في بعض الحالات لأن كل جملتين من هدول الجمل بينهما تشابه اكبير وفي بعض الحالات...

هذه أدوات لكل أداة إستعمالها المناسب

ولكن طالما بنستعمل الأداة المناسبة بيكون العمل اكتر دقة

قاعدة إحترافية يعني

وعموماً لست مهتمة بهكذا تحويلات بدون لزمة! :happy:

بتمنى لك التوفيق المستمر

لنجعل حياتنا اكتر بساطة وسهولة

[وسط]

♥ Countess ♥

57899411.gif

♥

[/وسط]

#17

شكراااااااااااااااااااااااااااااااااا

#18

بال c

#include<stdio.h>
void main()
{
int n,i,j;
 printf("give me your number ->\n");
 scanf("%d",&n);
   for(i=1;i<=n;i++)
    {
      for(j=0; j<i; j++)
       printf("*");
	 printf("\n");  
    }
 printf("press any key to exit");
 getch();
}
}

تم تعديل هذه المشاركة بواسطة student kavi في 18 ديسمبر 2010 في 16:03

#19

كنت عايز اعرف تطبيقات ال recursive function لو مفهاش رخامة

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…