배열과 포인터 공부중인데요 문제푸는데 막힙니다ㅠ
단순드립
질문 제목 : 배열의 주소,원소개수,찾고자하는순위를 인자로 받아서, 순위에 해당하는 숫자를 반환하는
int get_rank(int*ptr,int count,int rank)함수를 정의하시오
사용자로부터 숫자 5개를 입력받고,추가로 찾고자 하는 순위를 입력받은후, get_rank()함수를 이용하여 순위에 해당하는 숫자를 출력하는 프로그램을 작성하시오.
예)
5 3 8 10 2 가입력되고 순위가 1이 입력되면 10 이출력
5 3 8 10 2 가입력되고 순위가 2이 입력되면 8 이출력질문 요약 :입력받은 순위와 5개의 배열에서 뽑아낼수있는 알고리즘을 잘모르겠어요 ㅠㅠ질문 내용 :int get_rank(int*ptr,int count,int rank)는 정의를내렸구 메인함수에서 랭크 즉 순위를 입력받게했구요
그다음 int get_rank 함수에서는 배열을 각각5개 입력받구 if문을 써서 메인함수에서 나온 순위를 출력하게끔 하면 되겠는데요 막상 프로그램을 만드려니 어렵네요 ㅠㅠ #include stdio.h
int get_rank(int*ptr,int count,int rank);
void main()
{
intscore[5];
int count,rank;
for(count=0 ; count5 ; count++)
{
scanf(%d,&score[count])
}
scanf(%d, &rank);
}
int get_rank(int*ptr,int count,int rank)
{
}
여기까지는 맞게 했나요?? 조언좀 부탁드릴게요^^
아 댓글 감사합니다^^ 조언해주신대로 겟랭크함수에있던 배열지정부분을 메인함수로 옴겻어요.
지금 한창공부중입니다 꼐속해서 수정할껀데 지적좀 많이해주세요
-
후유 2024-01-28
배열을 마구 섞어도 괜찮다면, 배열을 정렬하셔서 하면 되고,
아니라면, 0부터 count-1까지의 인덱스 배열을 동적할당을 써서 만들고
인덱스를 정렬한 후 (rank-1)번째 인덱스의 값을 되돌리면 됩니다. -
반혈 2024-01-28
get_rank() 함수는 어떤 순위에 해당하는 값을 반환하는 함수죠?
그러면, 그 이름에 걸맞은 역할을 지정해야죠.
배열에 값을 저장하는 일은 다른 함수에 맡기세요.