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

sorting

مغلق
بدأه bayana في 5 مايو 2007 · 1 رد · 390 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

بصراحة انا عضو جديد في المنتدى

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

لهذا السبب انا في حاجة لمساعدتكم

اريد اعمل برنامج يقرأ من ملف ويأخذ نافذة عبارة عن 3*3 ويقوم بترتيب هذه الأرقام اما تصاعديأ او تنازليا وذلك لتحديد

median

اي نوع استخدم

bubble sorte

اريد الكود لهذا البرنامج

فارجو منكم مساعدتي

ولكم مني جزيل الشكر

#2

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

هناك ثلاثة أنواع من طرق الترتيب وهذا على حد علمي .

- الترتيب بطريقة الفقاقيع Bubble Sort

- الترتيب بطريقة الاختيار Selection Sort

- الترتيب بطريقة الادخال Insertion Sort

اولاُ : الترتيب بطريقة الفقاقيع Bubble Sort

في هذه الطريقة تتم مقارنة كل قيمتين متتاليتين من بداية القائمة "المصفوفة" او "Array" وتبديلهم اذا لم يكونو في التبديل المطلوب " تصاعديا مثلا " وذلك حتى نهاية القائمة .

باستكمال هذه المرحلة تكون اكبر قيمة استقرة قد استقرت في نهاية القائمة .

ويتم استبعاد القيمة الاخيرة لانها استقرت في مكانها الصحيح .

يتم تكــــرار هذه المرحلة " 1 الى الـ N " حيث ان الـ N هي عدد القيم في القائمة حتى يتم الترتيب تصاعديا مثلا .

والكود التالي يوضح هذه الطريقه :

		Dim N, I, J, Temp As Integer

		Dim X(8) As Integer

		Dim NOSWAP As Boolean

		N = InputBox("أدخل عدد الأرقام", "", "")

		For J = 1 To N

			X(J) = InputBox("ادخل الأرقام")

		Next J


		For I = 1 To N - 1

			NOSWAP = True

			For J = 1 To N - I

				If X(J) > X(J + 1) Then

					Temp = X(J)

					X(J) = X(J + 1)

					X(J + 1) = Temp

					NOSWAP = False

				End If

			Next J


			If NOSWAP = True Then

				MsgBox("تم انهاء الترتيب")

				Exit For

			End If

		Next I



		For J = 1 To N

			MsgBox(X(J))

		Next J

ثانيا : الترتيب بطريقة الاختيار Selection Sort

في هذه الطريقه يتم البحث عن القيمة الصغرى بين قيم القائمة ويتم استبدالها مع القيمة الاولى في القائمة .

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

والكود التالي يوضح هذه الطريقه :

		Dim x(20) As Single

		Dim n, J, k, temp, I As Single

		n = InputBox("إدخل عدد الارقام")

		For J = 1 To n

			x(J) = InputBox("إدخل القيمة")

		Next J

		For J = 1 To n - 1

			k = J

			temp = x(J)

			For I = J + 1 To n

				If x(I) < temp Then

					k = (I)

				End If

			Next I

			temp = x(J)

			x(J) = x(k)

			x(k) = temp

		Next J

		For I = 1 To n

			MsgBox(x(I))

		Next I

ثالثا : الترتيب بطريقة الادخال Insertion Sort

هذه الطريق تقوم فكرتها على اساس عدد القيم في المصفوفة او القائمة فإذا كانت عدد القيم اكبر من واحد وهذا شرت اساسي الي عملية مقارنة يتم عملية المقارنه بداية من الرقم الثاني بالسابق له ويتم استبدالهم اذا لم يكن في الترتيب الصحيح وتكرر هذه العملية بعدد قيم المصفوفة حتى الوصول الى الترتيب الصحيح .

والكود التالي يوضح هذه الطريقه :

		Dim j, k, n, i, Flag, temp As Integer

		Dim a(8) As Integer

		n = InputBox("إدخل عدد الارقام ")

		For k = 1 To n

			a(k) = InputBox("إدخل القيمة ")

		Next k


		If n >= 2 Then

			For i = 2 To n

				Flag = 1

				j = i

				Do While (j >= 2) And (Flag = 1)

					If a(j) < a(j - 1) Then

						temp = a(j)

						a(j) = a(j - 1)

						a(j - 1) = temp

						j = j - 1

					Else

						Flag = 0

					End If

				Loop

			Next i



			For k = 1 To n

				MsgBox(a(k) & " || " & k)

			Next k


		End If

اقتباس
ويأخذ نافذة عبارة عن 3*3

اخي ارجو التوضيح ,,,

بالتوفيق ,,,

A7med_prof

اقتباس

آسف الدخول متقطع هذه القتره

اقتباس

[يمين]

.[/يمين]

A7med_prof-4-2007.jpg

اخر مواضيعي 2007

االمثال مطبق على موقع بورصه سعودي

.

.

مواضيع مهمه ومطلوبه بكثره VB6

.

بــرامج ومشــاريع عربيه كامــله {HnHn} والمزيد في قسم برامج الاعضاء || ربط قواعد بيانات اكسس مع الفيجوال بيسك, مادة دراسية كاملة {بنت اليمن}|| المرجع الشامل لجمل SQL ا {GENIUS-IT} || كيفية التعامل مع مكتبة الـ DAO, في الوصول إلى قاعدة بيانات {رمضان} || مثال ريط Visaul Basic 6.0 مع SQL SERVER ا || العمليات التي تجرى على قاعدة البيانات, مثال كامل {بنت اليمن} || تصدير البيانات من الاكسل الي الاكسس بالفيجوال بيسك {HnHn} || البحث في قاعدة البيانات {MANSUR} || قواعد البيانات العلائقية وتقنيات الوصول إليها {عبد الله فتحي} || كيفية أظهار بيانات جدولين بواسطة التاريخ ,,,,,,,

.

أخي ربما سؤالك اجابته في أحدى هذه المواضيع فإن لم تجد قم بالبحث وان لم تجد اطرح سؤالك مع وضع عنوان مناسب بحيث ان يكون هذا العنوان دال على محتوى الموضوع فغير ذلك من أكبر الكبائر في المنتدى وسيؤدي الى غلق او حذف موضوعك .

.

</

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

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