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

ممكن شرح لهذا السؤآلين ...

بدأه فوضوية في 12 مايو 2011 · 14 رد · 575 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ممكن تشرحون لي هذا السؤآل ,, يعني ايش آلمطلوب كيف آكتب بروتوتآيب بعدين آرجع true او false ؟

write the prototype of a function is Same which takes two words as parameters and return true if they are identical and fals otherwise

وآيضآ اذا مآ عليكم آمر آبيكم تشرحون لي هذا آلكود

write is the outbut of the code below?and how many clones generated of myfunc(10);v

#include<iostream>
using namespace std;
void myfunc(int);
int main()
{

myfunc(3);

  return 0;   

} 
void myfunc(int x)
{
	if(x<0)
		myfunu(--x);
	cout<<x<<" , ";
}
#2

فوضوية ، السؤال الاول يطلب منك كتباة prototype للدالة تأخذ متغيرين هما عبارة عن كلمتين وترجع قيمة boolean تكون true اذا الكلمتين متشابهتين و ترجع false اذا الكلمتين غير متشابهتين ، في الغالب المتغيرين اما عبارة عن string او *char ، المطلوب البروتوتيب بس مش الدالة كلها

السؤال الثاني يطلب منك تكتبي الخرج حق البرنامج يعني لما تطبقي البرنامج ايش راح يطبع لك في الشاشة ، وكمان كم نسخة من الدالة myfunc سوف يتم توليدها عندما تستدعين الدالة

myfunc(10)

اكيد من السؤال انتي عارفة انه هذا استدعاء recursive للدالة ، بس الكود فوق مش داخل راسي لانه مش راح يستدعي الدالة غير مرة واحدة ،

انا اعتقد انه عندك خطأ في الطباعة وان الدالة هي مفروض تكون

void myfunc(int x)
{
//change < to >
        if(x>0)
                myfunu(--x);
        cout<<x<<" , ";
}

هذا ما اعتقده انكي مفروض تغيري الــ > الى <

1

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#3

يعنال آلسؤآل كذآ حله ؟

bool Same_which(string woed1,string word2)
#4

:)

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#5

آخي , ب النسبه للسؤآل الثاني يوم كتبته يطلع لي هذا الارور

: error C3861: 'myfunu': identifier not found

وجربته مع اكثر من كود نفس الارور مع ان مجربته امس وكان كويس؟

#6

بالتأكيد لانك مسميه الداله فوق myfunc

بس شوفي الاستدعاء حقك

void myfunc(int x)
{
        if(x<0)
                myfunu(--x);
        cout<<x<<" , ";
}

استدعيتيها باسم myfunu

وكذه المترجم يروح يدور على الدله myfunu ويلاقيها مش موجوده

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#7
bool isSame(string word1,string word2);
1


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#8

طيب لو مآعليك ىمر تشرح لي آلكود آلثآني

المفروض يطبع لي

2,1,0,0,

يعني يبدآ من الـ2 وليس من الـ0 ...

#9

تفضلي ، راجعي الكود علشان تشوفي اي الفوارق

#include<iostream>
using namespace std;
void myfunc(int);
int main()
{

myfunc(3);

  return 0;   

} 
void myfunc(int x)
{
        if(x>0)
		  {
 cout<<--x<<" , "; 
        myfunc(x);
  }
}

I stand corrected

thx MOHAMED FATHEI

تم تعديل هذه المشاركة بواسطة mental-driller في 14 مايو 2011 في 01:20

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#10

هو بالفعل بدأ من 2 وليس من 0

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

ماذا لو عدلت الكود ليصبح كالتالى

هل سيتسبب لك فى مشكلة ؟

/*
 * test.cpp
 *
 *  Created on: ١٣‏/٠٥‏/٢٠١١
 *  	Author: ccna
 */

#include<iostream>

using namespace std;

void myfunc(int);

int main() {

	myfunc(3);

	return 0;

}

void myfunc(int x)

{
	if (x >= 0)

	{
		cout << x << " , ";
		myfunc(--x);
	}

}

والناتج سيكون

3 , 2 , 1 , 0 ,

أظن هذا ما تريده والا فرجاءا وضح اكثر

بالتوفيق

mental-driller@

اخطأت فى اخر رد mad.gif

هذا الكود سيدخلك فى infinite loop دوران بلا نهاية

لاحظ ان الشرط لا يحتوى على اقواس {} اذا سينفذ الامر الاول التابع له فقط

اما الامر الاخير وهو استدعاء الدالة myfunc سينفذ باستمرار باعتباره خارج الشرط


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#11
MOHAMED FATHEI كتب:

هو بالفعل بدأ من 2 وليس من 0

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

ماذا لو عدلت الكود ليصبح كالتالى

هل سيتسبب لك فى مشكلة ؟

/*
 * test.cpp
 *
 *  Created on: ١٣‏/٠٥‏/٢٠١١
 *  	Author: ccna
 */

#include<iostream>

using namespace std;

void myfunc(int);

int main() {

	myfunc(3);

	return 0;

}

void myfunc(int x)

{
	if (x >= 0)

	{
		cout << x << " , ";
		myfunc(--x);
	}

}

والناتج سيكون

3 , 2 , 1 , 0 ,

أظن هذا ما تريده والا فرجاءا وضح اكثر

بالتوفيق

mental-driller@

اخطأت فى اخر رد mad.gif

هذا الكود سيدخلك فى infinite loop دوران بلا نهاية

لاحظ ان الشرط لا يحتوى على اقواس {} اذا سينفذ الامر الاول التابع له فقط

اما الامر الاخير وهو استدعاء الدالة myfunc سينفذ باستمرار باعتباره خارج الشرط

مش مشكله يا باشا.

في الحقيقه كنت عامل الكود زي حضرتك بس بعدين هو بيبدأ من 3 وهي بتقول يبدأ من 2

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

، ارجو منك ان حضرتك

تجرب الكود حقي وقل لو عامل infinite loop

تم تعديل هذه المشاركة بواسطة mental-driller في 14 مايو 2011 في 00:54

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#12
اقتباس

وعلى كل انا عامل compile & execution قبل ما ارفقه مع الرد ، ارجو منك ان حضرتك

تجرب الكود حقي وقل لو عامل infinite loop

هل انت متأكد من هذا :)

انظر هذه الصورة

post-165385-025015000 1305323743_thumb.p

عن تجربة

تحياتى

المرفقات
234.png


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#13

انظر

على سبيل الاستغراب فقط وليس على سبيل الجدال ، لاني اعرف تماما ان هذا خطأ كبير

على كل اعتقد انك يجب ان تضع التناقص في الــ cout حتى يبدأ العد من 2 مع انها ليست قضيه

والله غريبه هههههههههههههههه

post-244925-093266400 1305323997_thumb.j

المرفقات
Untitled-1.jpg

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

#14

ههههههههه ماهذا ؟

فى بعض بيئات التطوير مثل netbeans مثلا يجب ان تعمل clean and build حتى يتخلص من الملفات القديمة ويستبدلها بالجديدة

اما بالنسبة ل VS فلم اعمل عليه كثيرا ولكن ربما به نفس المشكلة

على كل هذا خطأ مطبعى بسيط :)

تحياتى


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#15

لا لا عملت clean solution

بعدين build solution

بس الظاهر انه الفيجوال ستديو بيعمل للـ stack تفريغ اتوماتيكي

تم تعديل هذه المشاركة بواسطة mental-driller في 14 مايو 2011 في 02:21

No intellectual battle was ever won through retreat
You do not watch Gintama? Dude, you are missing a lot!


صورةmsrgb1485.gif ocajavase7programmerclr.gif

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

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

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

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

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