اذهب إلى المحتوى

السؤال

نشر

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

ان تبدل كل قيمه حلقه سالبه ب (-1) اي سالب واحد .

ان تبدل كل قيمه حلقه موجبه ب (1).

سؤال الثاني:

اكتب عمليه تتلقى مؤشر على اول حلقه من سلسله حلقات التي حدودها من نمط صحيح (والتي فيها على الاقل حلقه واحده) على العمليه ان تعيد اكبر قيمه في سلسله. 

Recommended Posts

  • 0
نشر
بتاريخ 1 ساعة قال Meme 55555:

سؤال الاول :

نمرر بداية السلسلة للدالة، ونختبر في كل مرة وجود عقدة فارغة أو لا، ثم نختبر قيمة العقدة و نطبق المنطق المطلوب ومن ثم نمرر العقدة التالية للدالية كاستدعاء عودي/تراجعي.

Public static void PositiveNegative(Node<int>  p)

{
  if (p == null) 
    return;

  if (p.value > 0)
    p.value = 1;
  else if (p.value < 0)
    p.value = -1;

  PositiveNegative(p.GetNext());

}

 

بتاريخ 1 ساعة قال Meme 55555:

سؤال الثاني:

لمعرفة أكبر قيمة:

نريد تمرير قيمة تحمل أكبر قيمة و لتكن Max_Value، نعيدها عند نهاية السلسلة لأننا عندها سيكون لدينا أكبر قيمة بعد تطبيق منطق الخوارزيمة.

في كل خطوة نقارن بين القيمة التي لدينا و القيمة الحالية للعقدة ونسند القيمة الحالية ل Max_Value في حال كانت أكبر..

نستدعي الدالة عوديا و نمرر لها الوسطاء، العقدة التالية و أكبر قيمة حققناها للآن.

Public static int PositiveNegative(Node<int>  p, int Max_Value)

{
  if (p == null) 
    return Max_Value;

  if (p.value > Max_Value)
    Max_Value = p.value;

  return PositiveNegative(p.GetNext() , Max_Value);

}

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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...