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

توليد الاعداد العشوائية Random Numbers

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

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

اريد تعبأت مصفوفة بـ 32 رقم بشكل عشوائي ومجال هذه الارقام من 1 إلى 32 ، ولكن المشكلة اللتي واجهتني هو أن الارقام تتكرر في بعض المرات .

أي أني أريد 32 رقم بحيث لا يتكرر الرقم أكثر من مرة في المصفوفة ،

			Dim R As New Random
		Dim i As Integer
		Dim NUM(31) As Byte
		R.NextBytes(NUM)
		For i = 0 To UBound(NUM)
			T_1.Text = NUM(0)
			T_2.Text = NUM(1)
			T_3.Text = NUM(2)
			T_4.Text = NUM(3)
			T_5.Text = NUM(4)
			T_6.Text = NUM(5)
			T_7.Text = NUM(6)
			T_8.Text = NUM(7)
			Y_1.Text = NUM(8)
			Y_2.Text = NUM(9)
			Y_3.Text = NUM(10)
			Y_4.Text = NUM(11)
			Y_5.Text = NUM(12)
			Y_6.Text = NUM(13)
			Y_7.Text = NUM(14)
			Y_8.Text = NUM(15)
			U_1.Text = NUM(16)
			U_2.Text = NUM(17)
			U_3.Text = NUM(18)
			U_4.Text = NUM(19)
			U_5.Text = NUM(20)
			U_6.Text = NUM(21)
			U_7.Text = NUM(22)
			U_8.Text = NUM(23)
			I_1.Text = NUM(24)
			I_2.Text = NUM(25)
			I_3.Text = NUM(26)
			I_4.Text = NUM(27)
			I_5.Text = NUM(28)
			I_6.Text = NUM(29)
			I_7.Text = NUM(30)
			I_8.Text = NUM(31)
		Next

هذا الكود اللي أنا كتبته فأرجوا المساعدة وشكراً

#2

ما زلت أنتظر المساعدة , هل كان السؤال غير واضح ؟

#4

الاخ الغانمي اعتقد ان الحل بالطريقة Randomize

	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
		Randomize()
		Dim R As New Random
		Dim i As Integer
		Dim NUM(31) As Byte
		R.NextBytes(NUM)
		For i = 0 To UBound(NUM)
			MsgBox(NUM(i))
		Next
	End Sub

ضرغام العراقي

#5

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

شكراً أخي derghamm1972 على الرد ، أنا وجدت الحل ولكن كنت مشغول قليلاً

	Dim I As Long
	Dim P As Long
	Dim R As New Random
	Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
		P = R.Next(1, 31)
		Dim NUMP() As Integer = {0 + P, 1 + P, 2 + P, 3 + P, 4 + P, 5 + P, 6 + P, 7 + P, 8 + P, 9 + P, 10 + P, 11 + P, 12 + P, 13 + P, 14 + P, 15 + P, 16 + P, 17 + P, 18 + P, 19 + P, 20 + P, 21 + P, 22 + P, 23 + P, 24 + P, 25 + P, 26 + P, 27 + P, 28 + P, 29 + P, 30 + P}
		I = R.Next(1, 32)
		Dim NUMI() As Integer = {13 + I, 20 + I, 5 + I, 8 + I, 31 + I, 11 + I, 2 + I, 18 + I, 27 + I, 1 + I, 10 + I, 23 + I, 3 + I, 29 + I, 14 + I, 15 + I, 0 + I, 24 + I, 6 + I, 16 + I, 4 + I, 7 + I, 30 + I, 21 + I, 12 + I, 9 + I, 25 + I, 17 + I, 19 + I, 22 + I, 28 + I, 26 + I}
		Dim L As Integer
		For L = 0 To 31
			If NUMI(L) = 33 Then
				NUMI(L) = 1
			End If
			If NUMI(L) = 34 Then
				NUMI(L) = 2
			End If
			If NUMI(L) = 35 Then
				NUMI(L) = 3
			End If
			If NUMI(L) = 36 Then
				NUMI(L) = 4
			End If
			If NUMI(L) = 37 Then
				NUMI(L) = 5
			End If
			If NUMI(L) = 38 Then
				NUMI(L) = 6
			End If
			If NUMI(L) = 39 Then
				NUMI(L) = 7
			End If
			If NUMI(L) = 40 Then
				NUMI(L) = 8
			End If
			If NUMI(L) = 41 Then
				NUMI(L) = 9
			End If
			If NUMI(L) = 42 Then
				NUMI(L) = 10
			End If
			If NUMI(L) = 43 Then
				NUMI(L) = 11
			End If
			If NUMI(L) = 44 Then
				NUMI(L) = 12
			End If
			If NUMI(L) = 45 Then
				NUMI(L) = 13
			End If
			If NUMI(L) = 46 Then
				NUMI(L) = 14
			End If
			If NUMI(L) = 47 Then
				NUMI(L) = 15
			End If
			If NUMI(L) = 48 Then
				NUMI(L) = 16
			End If
			If NUMI(L) = 49 Then
				NUMI(L) = 17
			End If
			If NUMI(L) = 50 Then
				NUMI(L) = 18
			End If
			If NUMI(L) = 51 Then
				NUMI(L) = 19
			End If
			If NUMI(L) = 52 Then
				NUMI(L) = 20
			End If
			If NUMI(L) = 53 Then
				NUMI(L) = 21
			End If
			If NUMI(L) = 54 Then
				NUMI(L) = 22
			End If
			If NUMI(L) = 55 Then
				NUMI(L) = 23
			End If
			If NUMI(L) = 56 Then
				NUMI(L) = 24
			End If
			If NUMI(L) = 57 Then
				NUMI(L) = 25
			End If
			If NUMI(L) = 58 Then
				NUMI(L) = 26
			End If
			If NUMI(L) = 59 Then
				NUMI(L) = 27
			End If
			If NUMI(L) = 60 Then
				NUMI(L) = 28
			End If
			If NUMI(L) = 61 Then
				NUMI(L) = 29
			End If
			If NUMI(L) = 62 Then
				NUMI(L) = 30
			End If
			If NUMI(L) = 63 Then
				NUMI(L) = 31
			End If
		Next
		T_1.Text = NUMI(0)
		T_2.Text = NUMI(1)
		T_3.Text = NUMI(2)
		T_4.Text = NUMI(3)
		T_5.Text = NUMI(4)
		T_6.Text = NUMI(5)
		T_7.Text = NUMI(6)
		T_8.Text = NUMI(7)
		Y_1.Text = NUMI(8)
		Y_2.Text = NUMI(9)
		Y_3.Text = NUMI(10)
		Y_4.Text = NUMI(11)
		Y_5.Text = NUMI(12)
		Y_6.Text = NUMI(13)
		Y_7.Text = NUMI(14)
		Y_8.Text = NUMI(15)
		U_1.Text = NUMI(16)
		U_2.Text = NUMI(17)
		U_3.Text = NUMI(18)
		U_4.Text = NUMI(19)
		U_5.Text = NUMI(20)
		U_6.Text = NUMI(21)
		U_7.Text = NUMI(22)
		U_8.Text = NUMI(23)
		I_1.Text = NUMI(24)
		I_2.Text = NUMI(25)
		I_3.Text = NUMI(26)
		I_4.Text = NUMI(27)
		I_5.Text = NUMI(28)
		I_6.Text = NUMI(29)
		I_7.Text = NUMI(30)
		I_8.Text = NUMI(31)
		For Each con As Control In Panel1.Controls
			If con.Tag = T_1.Text Then
				con.Location = New System.Drawing.Point(A_1.Left, A_1.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = T_2.Text Then
				con.Location = New System.Drawing.Point(A_2.Left, A_2.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = T_3.Text Then
				con.Location = New System.Drawing.Point(A_3.Left, A_3.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = T_4.Text Then
				con.Location = New System.Drawing.Point(A_4.Left, A_4.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = T_5.Text Then
				con.Location = New System.Drawing.Point(A_5.Left, A_5.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = T_6.Text Then
				con.Location = New System.Drawing.Point(A_6.Left, A_6.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = T_7.Text Then
				con.Location = New System.Drawing.Point(A_7.Left, A_7.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = T_8.Text Then
				con.Location = New System.Drawing.Point(A_8.Left, A_8.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = Y_1.Text Then
				con.Location = New System.Drawing.Point(B_1.Left, B_1.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = Y_2.Text Then
				con.Location = New System.Drawing.Point(B_2.Left, B_2.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = Y_3.Text Then
				con.Location = New System.Drawing.Point(B_3.Left, B_3.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = Y_4.Text Then
				con.Location = New System.Drawing.Point(B_4.Left, B_4.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = Y_5.Text Then
				con.Location = New System.Drawing.Point(B_5.Left, B_5.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = Y_6.Text Then
				con.Location = New System.Drawing.Point(B_6.Left, B_6.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = Y_7.Text Then
				con.Location = New System.Drawing.Point(B_7.Left, B_7.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = Y_8.Text Then
				con.Location = New System.Drawing.Point(B_8.Left, B_8.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = U_1.Text Then
				con.Location = New System.Drawing.Point(C_1.Left, C_1.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = U_2.Text Then
				con.Location = New System.Drawing.Point(C_2.Left, C_2.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = U_3.Text Then
				con.Location = New System.Drawing.Point(C_3.Left, C_3.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = U_4.Text Then
				con.Location = New System.Drawing.Point(C_4.Left, C_4.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = U_5.Text Then
				con.Location = New System.Drawing.Point(C_5.Left, C_5.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = U_6.Text Then
				con.Location = New System.Drawing.Point(C_6.Left, C_6.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = U_7.Text Then
				con.Location = New System.Drawing.Point(C_7.Left, C_7.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = U_8.Text Then
				con.Location = New System.Drawing.Point(C_8.Left, C_8.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = I_1.Text Then
				con.Location = New System.Drawing.Point(D_1.Left, D_1.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = I_2.Text Then
				con.Location = New System.Drawing.Point(D_2.Left, D_2.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = I_3.Text Then
				con.Location = New System.Drawing.Point(D_3.Left, D_3.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = I_4.Text Then
				con.Location = New System.Drawing.Point(D_4.Left, D_4.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = I_5.Text Then
				con.Location = New System.Drawing.Point(D_5.Left, D_5.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = I_6.Text Then
				con.Location = New System.Drawing.Point(D_6.Left, D_6.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = I_7.Text Then
				con.Location = New System.Drawing.Point(D_7.Left, D_7.Top)
				con.BringToFront()
				con.Visible = True
			End If
			If con.Tag = I_8.Text Then
				con.Location = New System.Drawing.Point(D_8.Left, D_8.Top)
				con.BringToFront()
				con.Visible = True
			End If
		Next
	End Sub

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

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