배열을 함수에 전달할때.
글쓴이: min2to / 작성시간: 수, 2006/02/01 - 3:51오전
너무 길어서 후반 부분만 적겟습니다 죄송합니다..
int largest(int x[], int y) //중략에 int x[]10개배열선언,y 10 선언 하였음
{
int count , biggest = -12000;
for ( count = 0; count < y; count++)
{
if (x[count]> biggest)
biggest = x[count]; <-이부분의 개념을 모르겟습니다.
}
return biggest;
}
저부분의 개념 좀 알려주셨으면 합니다. 배열을 저렇게 주라고(?) 지정해노
니까 감이 전혀않와서 감사합니다
올 새해에도 다들 복 많이 받으십시오.
Forums:


biggest 변수에 x의 count+1 번째 원소를 대입하라는 뜻이군요
biggest 변수에 x의 count+1 번째 원소를 대입하라는 뜻이군요.
Re: 배열을 함수에 전달할때.
배열하고는 그닥 상관 없어 보이네요 :)
코드를 조금 정리해 드릴게요.
P.s : 앗, 실수를;;;
int largest(int array[], int count) //array는 배열, count는 배열 원소의 갯수 // 이 함수는 배열에서 가장 큰 값을 찾습니다. { int current, biggest = -12000; // 문제 : biggest가 -12000인 이유는? 다른 값도 되는 건 아닐까요? for ( current = 0; current < count; current++) // 배열의 처음부터 끝까지 돌기 { if (array[count]> biggest) biggest = array[count]; // 간단해요. 지금까지 확인했던 가장 큰 값보다 배열에 있는 게 더 크면, 가장 큰 값을 갱신 } return biggest; }Re: 배열을 함수에 전달할때.
감사합니다 흐흐 복받으실꺼예여~
모르는건 물어보라구 엄마 아빠가 알려주셧습니다
고수님,선배님들 도와주십쇼 독학하는 학생입니다
Re: 배열을 함수에 전달할때.
여기에는 가정이 있는 것입니다.
가정 : 배열에 들어 있는 값이 -12000이라는 값보다는 적어도 1개 이상이 크다.
이런 식으로 코딩하는 것은 좀 ... 합니다.
보다 정확히 하겠다면, 정수의(배열이 정수인경우) 최소값을 대입해야 합니다.
만일 정수가 32비트라면, -(2^31) = -2147483648 값을 대입하는 것이 보다 정확합니다. 반면, 최소값을 구하는 경우라면, 대략 int smallist = 2^31-1 =2147483647을 하는게 맞겠습니다만, 이 둘 다 별로 타당하지 못하며, 처음 배열의 요소를 최소/최대로 간주하고 이 값을 다른 배열요소로 비교하는게 더 낫겠습니다. int biggest = array[0]; 이렇게 하고, 두번째 배열요소부터 비교해 가면되겠지요.
Re: 배열을 함수에 전달할때.
정수의 최소값 대입 방법에서 조금 더 이식성을 유지하려면
limits.h 헤더 인클루드하고 int biggest=INT_MIN 하는 것도 좋지요 :)
댓글 달기