본문 바로가기
Developer/asp

1 ~ 10 까지 중복 되지 않고 찍기....

by MindOpener 2017. 3. 8.
반응형

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


ReDim arrNumbers(9)           

Randomize                     

For arrCol = 0 To 9           

arrNumbers(arrCol) = arrCol + 1

Next

Do While lngCount < 10         ' 총 6회 반복

arrIndex = Int(Rnd * (UBound(arrNumbers) + 1))

response.write CStr(arrNumbers(arrIndex))    ' 1 ~ 10 까지 중복 되지 않고 찍기....

arrNumbers(arrIndex) = arrNumbers(UBound(arrNumbers))

' 현재 구한 배열의 첨자에 맨 끝 첨자의 값을 대입함.

ReDim Preserve arrNumbers(UBound(arrNumbers) - 1)

' 맨 끝 첨자를 제거함.

lngCount = lngCount + 1

' 카운트 변수 증가

Loop

Erase arrNumbers ' 배열을 메모리상에서 제




말로 풀어보자면 


배열의 갯수를 하나씩 줄여가면서 



방금 발생한 랜덤 숫자를 인덱스로 하는 배열에  맨 끝 첨자의 값을 넣어준다. 




ex) 랜덤 숫자 3 발생 

최초 배열 

배열 index 

1

4

7

8

9

10 

배열 값

10 



3   : 구해지는 값  :3

배열 index 

1

4

7

8

9


배열 값

10



3,6  : 구해지는 값 3,6


배열 index 

1

4

7

8



배열 값

10

9


3,6,8  구해지는 값 : 3,6,8



배열 index 

1

4

7




배열 값

10



3 6 8 3    구해지는 값 : 3,4,8,10


배열 index 

1

4





배열 값

7





3 6 8 3 1   구해지는 값  3 4 8 10  1



배열 index 

1

4






배열 값

6

7




이런식으로 배열을 줄여가면서 줄인 배열안에 최고 배열 값을 옴겨놓아서   중복 되지 않고 1 부터 10까지의 숫자를 재배열 하는 로직

반응형

'Developer > asp' 카테고리의 다른 글

VBScript 문자형(string)으로 형변환  (0) 2017.07.12
DEXTUpload 지원  (0) 2017.03.13
asp 변수 타입 확인...  (0) 2016.05.31
인코딩 고찰. ASP  (0) 2016.05.31
aspjson read..  (0) 2016.05.23