배열안에 있는 숫자들의 순서를 바꿀려면?
비주얼베이직이구요
배열 a(5) 가 있구요
각각의 방에 a(1) = 1,a(2) = 2,a(3) = 3, a(4) = 4 , a(5) = 5 이렇게 값이 저장되어 있는데
swap 명령어를 사용하지 않고 변수를 이용하여 배열에 저장된 값을 아래처럼 바꾸라고
하네요
a(1) = 5 , a(2) = 4 , a(3) = 3 , a(4) = 2 , a(5) = 1
그래서 아래처럼 풀었는데 잘 안되어서 문의해봅니다
' 배열값 초기화 dim a(5) a(1) = 1 a(2) = 2 a(3) = 3 a(4) = 4 a(5) = 5 ' 여기서 변환시작 a(5) = a(1) a(4) = a(2) a(3) = a(3) a(2) = a(4) a(1) = a(5) ' 결과값 출력 debug.print a(1) , a(2) , a(3) , a(4) , a(5)위와 같이 코딩하여 실행했더니,
5 4 3 2 1 이렇게 안나옵니다
어떻게 코딩을 해야 할까요?
55글자 더 채워주세요.
2개의 답변이 있어요!
- Dim list = New List(Of String)() From { _ "item", _ "item2", _ "item3" _ } list.Reverse()
.NET의 경우 Reverse api를 사용하면 됩니다.
https://docs.microsoft.com/ko-kr/dotnet/api/system.array.reverse?view=netframework-4.8
이 문제를 푸는 방법은 생각외로 간단합니다
' 배열값 초기화 dim a(5) a(1) = 1 a(2) = 2 a(3) = 3 a(4) = 4 a(5) = 5 ' 배열값 위치 조정 t = a(1) : a(1) = a(5) : a(5) = t t = a(2) : a(2) = a(4) : a(4) = t debug.print a(1) , a(2) , a(3) , a(4) , a(5)위 내용을 실행하시면
5 4 3 2 1 이렇게 잘 나올것입니다
즉, t 라는 변수를 이용하여 값을 서로 치환해주는것입니다