숫자 배열 순서정하는 코드입니다.
로지
import java.util.Scanner;
public class helloworld {
public static void main(String[] args)
{
int[] arr=new int[5];
int j;
int i,tmp;
int k=1;
String str;
Scanner scn=new Scanner(System.in);
for(i=0;iarr.length;i++)
{
str=scn.next();
arr[i]=Integer.parseInt(str);
}
for(j=0;jarr.length-1;j++)
//for(k=j+1;karr.length;k++)//------------------원래코드인데 주석처리하고 손댓더니 생각처럼 안대네요
if(arr[j]arr[k])
{
tmp=arr[j];
arr[j]=arr[k];
arr[k]=tmp;
k+=1;
}
//정렬과정 화면 인쇄
for(i=0;iarr.length;i++)
{
System.out.print(\t + arr[i]);
}
}
}
인터넷으로 강의 듣던중에 본 코드를 제생각대로 좀 손댓는데 제대로 안되네요;
제가 보기에는 왜 잘못됐는지 잘 알수가 없네요
도와주세요
-
꽃바라기슬아
별말씀을.. 열공하세요!!
-
쇼콜라데
감사합니다^^ 주석 말고도 손을 댓거든요 ... 되나 싶어서
-
갤원
한번밖에 안돌자나요 ...
예를들어서 5 6 4 3 2로 테스트를 해보면..
처음에 5랑6이랑 비교를하죠 ? 그리고 나서 5가작으니까 if문을 안타겠죠
그다음에 j값과 k값이 ++이 되니까 6과 4를 비교하죠
6과4를 비교하면 6이크니까 바꾸겠죠 .. 그러면 여기부터가 54632인데 ..
제일 작은값부터 찾아서 제일 앞으로 보내는 로직을 생각해보세요~
주석풀어도.. 값 제대로 안나올거같은데..^^;;; -
앵초
숫자다섯개 넣으면 작은 숫자부터 재배열 대는건데 저대로 실행하면 안대더라고요. 이유를 제가 잘 모르겟다 그말입니다
-
온새미로
질문이 뭡니까?