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

عايز ارتب الحاجات اللي جوه المصفوفه

مغلق
بدأه A.B.D في 6 ديسمبر 2006 · 12 رد · 976 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بصو يا جماعه

عندي مصفوفه اسمها A() نوعها string جواها ارقام هما 13 رقم بالتحديد

بس الأرقام مش بالترتيب يعني مش 1.2.3.4.5 وكده وكمان الأرقام مش ماشيه بالترتيب يعني 13.24.11.17

انا بقي عايز طريقه ارتب بيها الأرقام اللي جواها ديه من الأصغر الي الأكبر او العكس

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

#2

للرفع

#4

يا سيدي مافيش كود ولا حاجه يعني مثلا

dim A(0 to 13) as string
for i=0 to 13
A(i)=25*rnd()
next i

انا بقي عايز ارتب الأرقام اللي جوه المصفوفه A بالترتيب من الأصغر الي الأكبر او العكس

وشكرا علي ردك ولتمني الاقي الحل

#5

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

Dim A(0 To 13) As String
Dim S
Dim F
List1.Clear
S = Rnd()
For i = 0 To 13
	F = Rnd()
	S = S + F
	A(i) = 25 * S
	List1.AddItem A(i)
Next i

طبعا List1 من أجل عرض عناصر المصفوفة

وهناك طريقة ثانية ، وهي أن تعرف مصفوفتين ، الأولى تدرج فيها العناصر ، وتضعها في ListBox ، بحيث تكون خاصية الـ Sorted في الـ ListBox تساوي True ، لكي يتم ترتيب العناصر .

ثم تقوم بإضافة عناصر الـ List إلى المصفوفة الثانية

يا نفسُ إن لم تصلحي

فتشبهي بالصالحينا

[ أبو العتاهية ]

#6

شكرا جدا علي تعبك معايا

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

وبالنسبه للطريقه التانيه انا جربتها بس المشكله في خاصية ال sorted مش بترتبهم من الاصغر للأكبر

بترتبهم كده

1,10,15,19,2,21,26,3

وهكذا

وشكرا مره تانيه علي تعبك معايا

#7

الكود بسيط جدا

أول شي طبعا نعرف المصفوفة
Dim A(0 To 13) As String

بعدين نعرف متغير
وهو الماغير إللي راح نحطه
علشان يعطينا الرقم العشوائي
إللي نريد المصفوفة تضربها بـ 25
Dim S

هنا نعرف متغير ، لرقم عشوائي علشان الزيادة
بحيث يزيد المتغيرالسابق بعدد عشوائي
Dim F

اللست ما عليك منه
أما حطيته علشان يظهر لي عناصر المصفوفة
List1.Clear

هنا نحدد إن المتغير الأول يساوي رقم عشوائي
S = Rnd()

هنا انت عارف السالفة طبعا
For i = 0 To 13

هنا نحدد المتغير الثاني على إنه رقم عشوائي
F = Rnd()

هنا نحدد إن المتغير الأول ( إللي هو رقم عشوائي ) يزيد برقم عشوائي آخر
S = S + F

هنا نقول إن المصفوفة هي 25 ضرب رقم عشوائي يزيد كل مرة برقم عشوائي
A(i) = 25 * S

هذا اللست علشان تظهر لنا عناصر المصفوفة
List1.AddItem A(i)

هذا إنت عارفنه
Next i

وآسف لأني ضعيف شوية بالشرح

يا نفسُ إن لم تصلحي

فتشبهي بالصالحينا

[ أبو العتاهية ]

#8

شكرا يا خي علي شرحك للكود ومجهودك

ولكن ما اريده هو ان ارتب ارقام داخل مصوفه من الأصغر للأكبر

يعني المصفوفه a() جواها ارقام

انا عايز ارتبهم من الاصغر للاكبر او العكس

ما تقوله لي ان اضع الأرقام في الصفوفه بالترتيب اصلا

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

#9

العفو أخوي

لكن إلى الآن ما عرفت إذا كان الكود نجح معك في الترتيب التصاعدي وإلا لا

إذا كان نجح فغير S = S + F إلى S = S - F علشان يظهر لك الترتيب التنازلي

والله أعلم

يا نفسُ إن لم تصلحي

فتشبهي بالصالحينا

[ أبو العتاهية ]

#10

الـ ListBoxes لا ترتب الأرقام ترتيب صحيح.

Private Sub cmdArrangeNumericArray_Click()
'---------------------------------------------------------------------------------------
' Original idea by Mohammed Sayed , Fixed & Corrected by Keith Stanier
' Much thanks to Keith Stanier
'---------------------------------------------------------------------------------------
'

Dim TargetArray As String
Dim DummyArray() As String
Dim Dummy As String
Dim I As Integer
Dim J As Integer
Dim Temp As Integer

TargetArray = "121#54#45#15#96#35#28#16#37#40#3#555#12"

DummyArray() = Split(TargetArray, "#")

For I = 0 To UBound(DummyArray) - 1
	For J = UBound(DummyArray) - 1 To I Step -1
		If Val(DummyArray(J)) > Val(DummyArray(J + 1)) Then
			Temp = DummyArray(J + 1)
			DummyArray(J + 1) = DummyArray(J)
			DummyArray(J) = Temp
		End If
	Next
Next
For I = 0 To UBound(DummyArray)
	Dummy = Dummy & DummyArray(I) & "#"
Next

TargetArray = Dummy

MsgBox TargetArray

End Sub
#11
شبه جسم كتب:
العفو أخوي

لكن إلى الآن ما عرفت إذا كان الكود نجح معك في الترتيب التصاعدي وإلا لا

إذا كان نجح فغير S = S + F إلى S = S - F علشان يظهر لك الترتيب التنازلي

والله أعلم

الكود شغال تمام

بس المشكله مش هو ده اللي انا عايزه

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

ما شاء الله عليك يا محمد فعلا كود احترافي جدا

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

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

واشكورلي Keith كمان ياريت

واضح ان انتو الأتنين ماشاء الله عليكم

والله مش عارف اقول ايه ولا ايه

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

هو ده بالظبط اللي كنت عايزه

#12

Keith ده بقى يا سيدى واحد من اللى علمونى البرمجة , وهو عنده حوالى 51 سنة بيدرس ميكانيكا فى كلية بريطانية , يعنى أساسا زى حلاتى و جنابك تخصصنا الأصلى ملهوش علاقة بالبرمجة مجرد هوايه , بس بصراحة هو تمام فيها و أنا قلتله على المنتدى ده و غيره يس ترجمة Google مش نافعة قوى معاه و ألا كان زمانه هنا لأنه غاوى منتديات.

#13

والله انا طول عمري نفسي يبقالي حد صحبي كده ويكون مبرمج

عشان نتكلم مع بعض كده ونتناقش

تصور ان مفيش ولا واحد من صحابي ليهم في موضوع البرمجه ديه حاسس ان وحيد في الموضوع ده

بس بجد اللي مخليني احس اني مش لوحدي ان حضرتك معايا علي طول

يامظظظظظظظظظظظظظظظبتني

يابختك ب Keith ماليش دعوه انا عايز :lol: :lol: Keith

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

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

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

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

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

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