[질문] 배열을 역수로 나타내기에 대하 질문이 또 있어서 올립니다
우수리
안녕하세요, 어제 지식인에 질문을 올렸는데
여기에 계시는 분이 답변을 올려주셨네요..
정말 감사합니다(__)
아..그나저나 규니니마(kimbk0918) 님이 답변해주신대로
for(int i = 0; i reverse.length; i++)
{
reverse[i] = reverse[reverse.length - i - 1];
}
위에 코드처럼 해서 했더니만, 제가 답변을 잘못 이해한것인지 역시나 12345를 넣으면 54345가 나옵니다.
분명히
유저가 1,2,3,4,5를 입력했다면
reverse[0] = 1 --- reverse[0] = 5 (5-0-1)
reverse[1] = 2 --- reverse[1] = 4 (5-1-1)
reverse[2] = 3 --- reverse[2] = 3 (5-2-1)
reverse[3] = 4 ---reverse[3] =2(5-3-1)
reverse[4] = 5 --- reverse[4] = 1 (5-4-1)
위에 처럼 나와야 하는데..거참 이상합니다^^;;
혹시나 해서 newreversing[] 이라는 배열을 또 하나 만들어서
newreverse[i] = reverse[reverse.length - i - 1]
위에처럼 시도도 해봤지만 역시나 12345를 넣으면 54345가 나옵니다.
i = 1로도 해봤지만 역시나 54345입니다.--------------------------------------------------------------------
public class reversinganarray
{
public static void main(string[]args)
{
easyreader console = new easyreader();
int number;
system.out.println(how many numbers do you want to enter? );
number = console.readint();
int [] reversing = new int [number];
int [] newreversiong = new int[number];
for(int i = 0; i reversing.length; i ++)
{
system.out.println(enter: );
reversing[i] = console.readint();
}
system.out.println(-------------------------------------------);
for(int i = 0; i reversing.length; i++)
{
int length = reversing.length;
reversing[i] = newreversing[reversing.length - i - 1];
}
for(int i = 0; i newreversing.length; i++)
{
system.out.println(newreversing[i]);
}
}
}
-----------------------------------------------------------------
위에 코드가 잘못됐다고는 생각하지 않는데요,,
뭐가 문제인지..
답변 부탁드립니다(__)
-
누리봄
Arrays 클래스의 sort(int[] i)의 메소드를 이용해서 오름차순으로 일단 한 정렬한 다음 그걸 루프로 돌리면서 새 배열에 역순으로 담는 방법이 있겠네요
int len = args.length;
int[] iArray = new int[len];
int[] newArray = new int[len]
Arrays.sort(iArray);
for(int i = 1; i = len; i++){
newArray[i - 1] = iArray -
흰가람
무슨 언어인지 모르겠지만_-;; 가운데 루프 조건문에 /2해보세요;
-
무리한
reverse[0] = 1 --- reverse[0] = reverse[5-0-1] (reverse[4] 5값이 들어감)
reverse[1] = 2 --- reverse[1] = reverse[5-1-1] (reverse[3] 4값이 들어감)
reverse[2] = 3 --- reverse[2] = reverse[5-2-1] (reverse[2] 3값이 들어감)
reverse[3] = 4 --- reverse[3] = reverse -
권뉴
스왑으로 하세요. 매처음꺼랑 맨마지막꺼랑 전체숫자 나누기 2한 회수만큼. 전체 개수가 짝수면 그냥 될꺼고 홀수면 자신을 스왑해서 같은 값이 오고. 그럼 완벽하게 회전되지요.
-
리네
제쏘스를 돌려보세요.
5
4
3
2
1
라고 나와요.
아님 EasyReader 구현된 소스도 올려주셔야... -
히메
이천사// 하핫..사실 말씀 하신 것처럼 어제 해보았지만..역시나 54345가 나와서 혹시나..해서 바꿔본건데..안나오는건 마찬가지네요ㅜ_-
-
하늘
하하하하~ 답글 안달아도 될듯하지만 혹시나~^^
지금쯤이면 아시겠죠. 실수가 있는거 같네요.
reversing[i] = newReversing........가 거꾸로 됐네요.
바꾸기 전을 바꾼 후에다가 넣어야...
public class ReversingAnArray
{
public static void main(String[]args)
{
int [] reversing = {1,2,3,4,5};
int [] newReversing = n