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

مقارنة ونقل العناصر بين المصفوفات

مغلق
بدأه منصور & في 13 نوفمبر 2006 · 3 رد · 617 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

في الحقيقة هذا العمل طلب مني من قبل اسبوع وانا احاول به , ومطلوب مني تسليمه الثلاثاء ,وقد حاولت ولم استطع لوجود مشكلتين :

1- اني لم استطع اكتشاف الأمر الذي يتأكد هل يوجد عنصر في هذه الخانه من المصفوفه ام لا ؟

2-لم استطع كتابه الامر الذي يحذف العنصر الاول من المصفوفه وجعل باقي العناصر تنزاح الى اماكنها الجديده .

الخوارزميه فكرتها دخول ثلاث مصفوفات S,s1,s2 ..حيث S خاليه اما s1 ,s2 فيهما عناصر , تقوم الخوارزميه بمقارنه العنصرين الاولين من المصفوفتين , ومن ثم اختيار الاصغر لحذفه من مصفوفته وادراجه في المصفوفه S , لاحظ انه عند حذفه تنزاح باقي العناصر لسد القراغ بعد الحذف..

من يحل لي هذه الخوارزميه له مني جزيل الدعاء ان شاء الله وفي اوقات مختلفه ,, حيث ان الوقت ضاق بي,,


if s1.first().element() <= s2.first().element() then
{ move the first element of s1 at the end of S }
s.insertLast(s1.remove(s1.first()))
else
{move the first element of s2 at the end of S}
s.insertLast(s2.remove(s2.first()))
{move the remaining elements of s1 to s}
while(not s1.isEmpty()) do
s.insertLast(s1.remove(s1.first()))
{move the remainig elements of s2 to s}
while(not s2.isEmpty()) do
s.insertLast(s2.remove(s2.first()))
While (not ( s1.isEmpty()  or  s2.isEmpty) do

#2

شكرا على كل شي

#3

السؤال الأول :

		Dim d(3) As Integer
		If d(0) = Nothing Then
			MsgBox("Nothing Here")
		End If

ما بالنسبة للسؤال الثاني فالطريقة

	Public Function ReArray(ByVal Arr As Array) As Array
		On Error Resume Next
		Dim i As Integer
		For i = 1 To Arr.Length
			Arr(i - 1) = Arr(i)
		Next
		Array.Resize(Arr(), Arr.Length - 1)
		Return Arr
	End Function

والكود بأكمله

	Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
		Dim S1() As Integer = {66, 4633, 5355, 432, 22567}
		Dim S2() As Integer = {55, 44454, 3222, 6643, 22242}
		Dim S(S1.Length) As Integer
		If S1(0) > S2(0) Then
			S(0) = S2(0)
			Array.Clear(S2, 0, 1)
		Else
			S(0) = S1(0)
			Array.Clear(S1, 0, 1)
		End If
		S2 = ReArray(S2)
		MsgBox(S2(S2.Length - 1))
		MsgBox(S2(0))
		MsgBox(S(0))
	End Sub
	Public Function ReArray(ByVal Arr As Array) As Array
		On Error Resume Next
		Dim i As Integer
		For i = 1 To Arr.Length
			Arr(i - 1) = Arr(i)
		Next
		Array.Resize(Arr(), Arr.Length - 1)
		Return Arr
	End Function
#4

يعطيك الف الف الف عافيه

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

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