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

Palindrome

مغلق
بدأه Ayoub JAMAL EL IDRISSI في 5 أكتوبر 2006 · 8 رد · 794 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع
اقتباس
بسم الله الرحمن الرحيم

مرة أخرى اعود حاملا مسألة جديدة و انا واثق ان حلها سيكون سهلا باذن الله بين ايديكم، مسألتنا اليوم جد بسيطة اظن ان الكثير منكم يعرف مهنى "palindrome" و من لا يعرف المعنى اليه هذا التعريف البسيط ال palindrome هو أي رقم او نص يمكن قراءته من الأمام او الخلف و مع ذلك يعطي نفس النتيجة فمثلا بالنسبة للأحرف لدينا الكلمة POUOP فسواء قرأت من اليمين الى اليسار او من اليسار لى اليمين فهي نفس الكلمة و كذلك الأمر بالنسبة للأحرف 123321 و مسألتنا ستكون حول ال palindrome الخاصة بالأحرف

من أجل قراءة المزيد و وضع حلولكم المرجو الدخول الى :

http://ayoub.awardspace.com/Mag/index.php?...7&Itemid=71

#2

السلام عليكم

أخي لقد حللت المسألة و أرجو أن يكون الحل صحيحا و هو ثلاث أسطر بالضبط

الدالة :

	Public Function Transform(ByVal N As Integer) As Integer

		Do While Not Mid(N.ToString, 1, (N.ToString.Length / 2)) = StrReverse(Mid(N.ToString, N.ToString.Length / 2 + 1, N.ToString.Length))

			N = Val(N.ToString) + Val(StrReverse(N.ToString))

		Loop

		Return (N)

	End Function

و لتجريب الكود :

 TextBox1.Text = (Transform(Val(TextBox1.Text)))
#3

فى سطر واحد

Public Function Transform(ByVal N As Integer) As Integer
		If N <> CInt(StrReverse(N.ToString)) Then Return (Transform(N + CInt(StrReverse(N.ToString))))
		Return N
	End Function

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#4
اقتباس
فى سطر واحد

ما شاء الله

أنا قسّمت الرقم إلى قسمين و قارنتهما و لم يخطر ببالي أنه يكفي تساوي الرقم مع عكسه

الله يوفقك يا أخ SOLO.NET و يزيدك من علمه

تم تعديل هذه المشاركة بواسطة SOLO.NET في 6 أكتوبر 2006 في 02:29

#5

اخىgolden man اعذرنى فلقد قمت بتحرير مشاركتك،،فلم يعجبنى الوصف الذى وضعته،،حلك ممتاز،،والامر الذى ساعدنى على الاختصار بسطر واحد هو تقنية الاستدعاء الذاتى خلاف ذلك لا مجال

والله ولى التوفيق

تم تعديل هذه المشاركة بواسطة SOLO.NET في 6 أكتوبر 2006 في 02:35

VB.NET and C# Comparison

http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

002.gif

=-=-=-=-=-=-=
ذو العلم يشقى فى النعيم بعلمه .:. واخو الجهالة فى الشقاوة ينعم
=-=-=-=-=-=-=
يا من بدنياه اشتغل . قد غره طول الأمل . فالموت يأتى بغتة . والقبر صندوق العمل
=-=-=-=-=-=-=
ان لم تستطع ان تجد ما تفعله فافعل ما لم تسطع ان تجده

screen_shot_2011-05-19_at_12.44.49_pm.pn

#6

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

#7

ممتاز الحلين صحيحن رغم ان الاخ Golden سلك طريق طويل المهم حلي هو كالتالي :

Public Function Transform2(ByVal N As Integer) As Integer
		While N <> StrReverse(N)
			N = N + StrReverse(N)
		End While
		Return N
	End Function

و على فكرة أخ SOLO يمكن اختصار هذا الكود الى سطر واحد كالتالي :

Public Function Transform2(ByVal N As Integer) As Integer
		While N <> StrReverse(N) : N = N + StrReverse(N) : End While : Return N
	End Function

:P

#8

على فكرة أخ SOLO يمكن اختصار هذا الكود الى سطر واحد كالتالي :

كود

Public Function Transform2(ByVal N As Integer) As Integer
		While N <> StrReverse(N) : N = N + StrReverse(N) : End While : Return N
	End Function

;)

هذه مغالطة يا ايوب

:P

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

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