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

اللغز البرمجي الجديد .. محير لدرجة كبيرة .. تفضلوا واختبروا انفسكم ...(if-else)

مغلق
بدأه سنان محمد صالح في 6 يناير 2008 · 16 رد · 3,420 مشاهدة · في اختبر قداراتك
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ..

كيف الحال اخوان ...

لغزي لهذا اليوم محير جدا .. وممكن ان يجعل الاعضاء يفكرون لدرجة ان يحصل شئ في الدماغ ..

ولكن الكل اذكياء ان شاءالله ويحلوا اللغز في دقائق ..

اللغز هو التالي ...

لدي الكود التالي ..

if  "condition"
	printf ("Hello");
else
	printf("World");

ماذا تقترح ان يكون الشرط condtion اعلاه لكي يكون الاخراج بهذه الصيغة ..؟؟

HelloWorld

ان تظهر الكلمتين ملتصقتين في الاخراج ..

فكروا وشغلوا عقولكم واروني ماعندكم ..

ملاحظة للحل ..

من يتمكن من الحل يكتب في الموضوع تمكنت من الحل وارسلته ثم يرسل الحل على الرسائل الخاصه لي .. وايضا اتمنى من كل عضو يحل اللغز ان لا يضع الحل هنا او اي شئ يمكن عن طريقه حل اللغز ..

اخي خالد اي مشاركه تجد فيها طريقة للحل او كود الحل .. انت مخول في حذف تلك المشاركه مباشرة ...

وهذا القانون سيسري على اي هذا اللغز واي لغز اطرحه في المستقبل ..

لن احل اللغز حتى اجد عدد جيد من الاعضاء تمكنوا من الحل .. واذا لم يكن العدد جيدا فلن احل اللغز نهائيا ..

لاني اريد اكبر قدر ممكن من الاعضاء ان يستفيدوا وان يتمكنوا من الحل لا ان يجدوا الحل جاهزا ..

لذلك اذا وجدت العدد جيد وبوقت قصير اعلن الحل ..

ارجو ان يكون لغزا جميلا ..

هيا ابدعوا ..

تحياتي العطرة للجميع واتمنى لكم التوفيق ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#2

حللت اللغز :thumbup: :lol: :lol:

( _ /)

(='.'=)

(")-(")

#3
اقتباس
ماذا تقترح ان يكون الشرط condtion اعلاه لكي يكون الاخراج بهذه الصيغة ..؟؟

التغيير فقط على الشرط؟ اريد ان اتأكد من هذه النقطة. يعني كل مجالي للحل هو بعد if وقبل printf

#4

سهلة بس حلوة .....

أخ إسماعيل : فاكر البرنامج اللي بيطبع Hello World من غير semicolon ؟

نفس الفكرة تقريبا .........

تم تعديل هذه المشاركة بواسطة Usama Fayez في 6 يناير 2008 في 19:53

#5

الحمدلله تم الحل .

tvquran_6.gif

#6

اخوان ...

هل اللغز صعب لهالدرجه ...؟؟

لدي الغاز اصعب من هذا باضعاف ...

ماذا سنفعل في حينها .؟؟؟

اين الحلول ؟؟

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#7

إذا كان حلي صحيح فأنا أعترض :)

#8

السلام عليكم,,

أخ سنان, شكراً لك على هذه المسابقة الجميلة و لكن لي ملاحظة على السؤال,

اقتباس
ماذا تقترح ان يكون الشرط condtion اعلاه لكي يكون الاخراج بهذه الصيغة ..؟؟

HelloWorld

من المستحيل تنفيذ ما تطلبه مهما عدلت في الشرط, إما يتم تنفيذ العبارة الاولى أو الثانية,

إلا إذا قمنا ببعض التغييرات في الكود ككل و ليس الشرط فقط ,,

( سأرسل لك الحل بعد تعديل الكود ),,

تحياتي ,,

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 7 يناير 2008 في 06:12

#9

الحمد لله وصلت للحل

ألغازك ممتعة يا أخى و انا اتعلم عندما اغكر فيها

شكرا و جزاك الله خيرا

#10
if(!printf("Hello"))
printf("Hello");
else
printf("World");

The conditions printf("Hello") will print hello and value retured is obviously true which by using ! can be made false so that it can then print world

1
#11

الأخ/ سنان

مشاركتك جميلة ومنشطة للذهن، وجاري التفكير لحلها

ولكن ما شوش علي تفكيري الشعر الخاص بنزار قباني المدرج في مشاركتك، وخصوصاً البيتين الأخيرين

فـــذنـــوب شـعــري كلهــا مغـفـورة

والله - جل جلاله - التواب

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

ولكن أن يقول العبد ذنوبي كلها مغفورة، والله أعلم مسألة فيها نظر.

وجزاك الله خيراً على ألغازك، وأرجو أن تزدنا منها. :hmm:

#12

لقد حللت اللغز لكن لا اعرف لماذا لم يعرني الاخ سنان اي اهتمام

اقتباس
اخوان ...

هل اللغز صعب لهالدرجه ...؟؟

لدي الغاز اصعب من هذا باضعاف ...

ماذا سنفعل في حينها .؟؟؟

اين الحلول ؟؟

لذلك ساضطر الي كتابة الحل.

if( printf("Hello") < 0)
printf("Hello");
else
printf("World");

( _ /)

(='.'=)

(")-(")

#13

السلام عليكم ,,

اقتباس
لقد حللت اللغز لكن لا اعرف لماذا لم يعرني الاخ سنان اي اهتمام

:resentful: ,, صراحة أنا لا أحب إرسال الحلول على شكل رسائل خاصة , لكي نتكمن من رؤية الحلول و طرح أفكار أخرى,

على كل حال ,, لم أحل اللغز بشكل صحيح :D , و السبب أنني اعتقدت أن عملية الاخراج يمكن أن نستخدم فيها cout و لم أفكر أبداً أنني يجب أن أستخدم printf و خصوصاً أن اللغز المطروح على أساس أنه بلغة ++C :ph34r:

الأخت زهرة شاركت بالحل سأظهر مشاركتها الآن لأنها أخفتها عندما قامت بكتابتها ,,

تحياتي ,,

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 7 يناير 2008 في 10:34

#14

اهلا اخوتي في المنتدى ..

اشكركم على التشجيع جميعكم .. وان شاءالله اكون قد افدتكم ..

اخوان ..

اخي garo

اقتباس
لقد حللت اللغز لكن لا اعرف لماذا لم يعرني الاخ سنان اي اهتمام

قرأت حلك ولكن كما تعلم فأنا لا اعلن النتائج الا بعد ان اضع الحل النهائي .. فاذا كنت لا تعرف هذه الملاحظه ارجو ان تعرفها من الان انت وبقية الاخوة..

اقتباس
,, صراحة أنا لا أحب إرسال الحلول على شكل رسائل خاصة , لكي نتكمن من رؤية الحلول و طرح أفكار أخرى,

على كل حال ,, لم أحل اللغز بشكل صحيح , و السبب أنني اعتقدت أن عملية الاخراج يمكن أن نستخدم فيها cout و لم أفكر أبداً أنني يجب أن أستخدم printf و خصوصاً أن اللغز المطروح على أساس أنه بلغة ++C

كلامك منطقي اخي خالد .. ولكن انا بالاساس قمت بتسمية الموضوع بلغز .. اي ان الحل لا يكشف امام الجميع الا من قبلي بعد يوم او يومين من تاريخ الحل .. واثناء كتابة الحل اكتب من توصل الى الحل الصحيح من قبل الاعضاء ..

لذلك هذا ما اردته بالرسائل الخاصه ..

وبالنسبه للcout او printf فلا تفرق المهم الناتج ..

تحياتي العطرة ..

تم تعديل هذه المشاركة بواسطة سنان محمد صالح في 7 يناير 2008 في 15:38

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#15

اهلا اخوان ..

اليكم الان حل اللغز ..

الحل يأخذ اكثر من شكل .. ولكن الشكل الذي يمكن عام للحل هو التالي ..

if(1)
	printf ("Hello");
else;
	printf("World");

يوجد حل اخر ..

وهو على الشكل التالي ..

if(!printf("Hello"))
		printf("Hello");
else
		 printf("World");

طبعا كل الاعضائ الذي ارسلوا حلولهم كانت صحيحه ولكن لدينا الاخ garo ..

ارسل هذا الكود ووضعه ايضا في الموضوع ..

if

 (printf("Hello") > 0)
	printf ("Hello");
else
	printf("World");

هذا الكود يحقق الشرط وهو طباعة hello وايضا يحقق ما داخل if ويطبع hello مرة اخرى .. وهذا ليس المطلوب من السؤال ..

هناك طريقة اخرى للحل ..على الشكل ..

ولكنها بعض الشئ ستكون معقدة والاخ arbi2031 كان حله مشابها لها ..

if (!(1!=2?printf("Hello"):printf("World")))
printf ("Hello");
else
printf("World");

طبعا الكل كانت حلولهم صح .. وتحقق النتيجة المطلوبه ..

ولكن لو جئنا لتحليل الاكواد التي وضعتها بالاعلى .. ما هو اكثر كود صحيح ..؟؟

اصح كود موجود في الاعلى هو الكود الاول ..وهو ..

if(1)
	printf ("Hello");
else;
	printf("World");

السبب في ذلك هو ان الشرط دائما صحيح ودائما ينفذ . . وبالنسبه لل else فانه عند وضع الفارزة المنقوطه امامها فانها ستنفذ ايضا وهذا احد امور التلاعب بالاكواد .. اما بالنسبه لبقية الاكواد .. فكلها صحيحه ولكن المشكله التي فيها انها ستنفذ مادخل قوس الشرط وليس الجمله التي تنفذ بداخل if نفسها والدليل هو اننا لو اخذنا اي كود اخر وغيرناه الى الشكل التالي ..

if

 (printf("sinan") > 0)
	printf ("Hello");
else
	printf("World");

سنجد ان المخرج على الشاشه سيكون كالتالي ..

sinanWorld

والسبب لانه يحقق ماداخل قوس الشرط ثم يترك الجمل المراد تنفذيها بداخل if لينتقل الى الجزء else لينفذ ما بداخله ..

هناك طريقة اخرى ولكنها سيكون بها طول ولكنها ايضا صحيحه .. على الشكل التالي ..

void main()
  {
int n;
	part:
if(n)
	{
		  printf("Hello");
		   n=0;
			goto part;
	  }
	  else
	   printf("World");
}

ارجو ان تكون الحلول جميله .. وان تكونوا قد اضفتم شيئا جديدا الى معلوماتكم ..

تحياتي العطرة للجميع ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#16

أرسلتُ لك الحل "الصحيح"

if(1)
	printf ("Hello");
else;
	printf("World");

وقلت لك حينها انه اذا كان حلي صحيح فسوف أعترض..

وبالفعل كان الحل "صحيح" لهذا سأعترض..

إعتراضي هو:

انت في السؤال قلت ماذا تقترح ان يكون الشرط.. أي أن الحل يجب ان يكون في الشرط....

ثانيا انت عندما وضعت الفاصلة المنقوطة بعد else هذا معناه انك أخرجت الأمر الذي بعدها من جملة الشرط ، لهذا قلت اذا كان حلي صحيحا فسأعترض

تم تعديل هذه المشاركة بواسطة إسماعيل ابراهيم في 8 يناير 2008 في 00:19

#17

اهلا اخي اسماعيل..

كلامك صحيح ... ولكن هذا الحل هو واحد من بين اربع طرق للحل ..

صحيح اني ذكرت ان هذا الحل هو يمكن ان يكون من اصح الحلول والسبب في ذلك هو لان الشرط لايحتوي على جملة الطباعة .. فقط لاغير ..

اما البقية فهي المطلوبه بالتاكيد لان ما كتب بها هو الشرط فقط ....

فمن خلال هذا وجدنا اربع طرق لتحقيق الشرطين مرة واحدة ..

لو جئت تسالني عن رايي باكثر حل ملائم ومقارب فاقول لك الحل الذي استخدمت به goto ..

تحياتي العطرة..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

هذا الموضوع مغلق.

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