ورود داده های تصادفی به آرایه بدون داده تکراری در VB6 - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

ورود داده های تصادفی به آرایه بدون داده تکراری در VB6

0 امتیاز

با سلام.

برنامه ای دارم که از 1 تا 100عدد تصادفی در آرایه ای 100 عضوی تولید می کند.بیشتر مواقع پیش می آید که این اعداد تکراری هستند. چگونه می توان از تکراری شدن داده ها در این آرایه 100 عضوی جلوگیری کرد؟

کد زبان C++ بدون این مشکل:

long Num(void)
{
  long num=0, tmpو nums[4];
  int   c=0;
  bool Find;
  
  while( c<4)
  { 
    Find = false;
    tmp = random(9)+1;
    for( int i=0; i<c && !Find; i++)
      if( nums[i]==tmp) Find=true; 
    if( !Find){
      nums[c] = tmp;
      num = num*10+tmp;
      C++‎‎;
    }
  }
  retun num;
} 

کد من در زبان VB6 که مشکل تکراری بودن را دارد:

Dim A(1 To 100) As Integer
Private Sub cmdInput_Click()
Randomize
For i = LBound(A) To UBound(A)
    A(i) = UBound(A) * Rnd + LBound(A)
Next
End Sub

من این کد را برای VB6 نیاز دارم. برای آرایه ای به نام A(1 to 100)

 

با تشکر.

سوال شده دی 22, 1392  بوسیله ی mahdi.manian (امتیاز 56)   3 8 12
دوباره تگ گذاری شد بهمن 22, 1392 بوسیله ی BlueBlade
دوستان کسی جوابی نداشت؟ ممنون.

1 پاسخ

+1 امتیاز
 
بهترین پاسخ
فقط جایی تعریف نکنید من VB نوشتم

private function CreateNumbers(Count as long) as long()
	dim output as long(count)
	dim Temp as long
	dim c as integer
	dim Find as Boolean
	c = 0
	while c < Count
		Find = False
		Temp = UBound(A) * Rnd + LBound(A)
		For i = LBound(A) To UBound(A)
			if output(i) = Temp Then Find = True
		Next
		if Find = False Then
			output(i) = Temp
			c = c + 1
		End If
	wend
	CreateNumbers = output
end function

 

پاسخ داده شده بهمن 6, 1392 بوسیله ی FastCode (امتیاز 602)   1 2 11
انتخاب شد بهمن 6, 1392 بوسیله ی mahdi.manian
...