아 이미지 왜 자꾸 깨짐.

이미지 자꾸 깨지니까 그냥 말로하겠음 ...딱히 할말이없네요 이미지올리고싶은데
ps&cube
접속 : 6146   Lv. 86

Category

Profile

Counter

  • 오늘 : 134 명
  • 전체 : 440031 명
  • Mypi Ver. 0.3.1 β
[학생] 자바 배열에서 최대값 최소값 구하는것 질문입니다. (5) 2015/09/09 PM 06:44
int str[]= new int [5];
int max=0;
int min=0;
System.out.println("양수 5개입력하세요");
for(int i=0; i str[i]=sc.nextInt();

if(str[i] >max)
max=str[i];

max구하는것에서 이상한게..
처음 입력받은 값이 str[0]이라 치고 그게 20이면 max인 0보다 크니 max가 20이되죠.
근데 다음 값을 50을 입력하면 max가 50으로 대체되고...그 다음을 10으로 입력하면 max가 10으로 대체되는거 아닌가요?

min도 구하려고 하는데...if(str[i]
알려주시면 감사하겠습니다.

신고

 

傲慢[오만]의 墮天使    친구신청

50다음에 10을 입력하면 맥스값이 왜 10이 되나요?
if문은 값이 커야 대체가 되도록 해놓았는데.....
왜 50 다음에 10은 입력하면 맥스값이 10이 되죠?

그리고 변수 선언을 int min;으로만 값 설정 안하고 지정할 수 있습니다.
for문 돌릴때 첫번째는 무조건 min 값이 되도록 하고 두번째부턴 비교 로직 넣으면 됩니다.

傲慢[오만]의 墮天使    친구신청

정 안될때 알고리즘을 그려보세요.

사천짜장~    친구신청

for(int i=0; i<str.length; i++)
{
if(i==0)
{
min = str[i];
max = str[i];
continue;
}

if(str[i] > max)
max = str[i];

if(str[i] < min)
min = str[i];
}

뀰잠    친구신청

50으로 대체된 max가 10이랑 비교 연산을 하는게 아닌지.. 10>50은 참이 아니기 때문에 max가 10으로 대체 되지 않는...
min의 초기값은 가장 큰 수로..

숲바라기    친구신청

min 과 max 값은 처음에 들어오는 입력된 값으로 초기화 시켜주세요
X