모든 가수의 정렬된 점수를 출력해서 표시할 수 있다.
정렬에는 빠른 정렬 또는 힙 정렬 방법이 필요합니다.
출력가능 디스플레이 (1 등상1; 2 등상 3 명; 5 등상. ) 수상 가수 정보.
# include & ltiostream.h & gt
Const int LEN=30, M= 100, n =100;
Typedef 구조
{
Int num// 복권 번호
Char name [len]; //이름
부동 점수 //점수
} 플레이어
플레이어 [m]; //가수 정보
Int a [m] [n]; //평가자 점수 정보
Int m, n; //가수와 심사위원 수
//가수 정보 및 평가자 점수 정보를 입력합니다.
유효하지 않은 입력 (유효하지 않음)
{
Int I, j;
Cout & lt& lt "가수 수":
CIN>;; & gtm;;
Cout & lt& lt "판사 수:";
CIN>;; & gtn;;
For(I = 0;; 나 & ltm;; I++)
{
플레이어 [나]. Num = I+1;
Cout & lt& lt "첫 번째"
CIN>;; & gt 플레이어 [나]. 이름;
Cout & lt& lt "첫 번째"
For(j = 0;; J & ltn;; J++)
{
CIN>;; & GTA [I] [j];
}
}
}
//Average (가장 높은 점수를 제거하고, 가장 낮은 점수를 제거하고, 나머지 n-2 점의 평균을 구합니다.
무효 계산 (무효)
{
Int max, min, I, j;
For(I = 0;; 나 & ltm;; I++)
{
Max=min=players[i] 입니다. 점수 = a [I] [0];
For (j =1; J & ltn;; J++)
{
플레이어 [나]. Score+= a [I] [j];
If (최대 및 lt; A[i][j])
{
최대 = a [I] [j];
}
If(min & gt;; A[i][j])
{
Min = a [I] [j];
}
}
(n>2) 인 경우
{
플레이어 [나]. 득점 = (선수 [나]. Score-max-min)/(n-2);
}
Else if(n & gt;; 0)
{
플레이어 [나]. Score/= n;;
}
}
}
//거품법으로 각 플레이어의 점수를 매기다.
//빠른 정렬 또는 힙 정렬을 사용하는 경우 이 단락을 다시 작성하십시오.
빈 정렬 (void)
{
Int I, j;
For(I = 0;; 나<m-1; I++)
{
For (j = m-1; J> 나; J-)
{
If (플레이어 [j]. 점수> 선수 [j- 1]. 점수)
{
플레이어 tmp
Tmp = players [j];
플레이어 [j]= 플레이어 [j-1];
선수 [j-1] = tmp;
}
}
}
}
//모든 원시 데이터 표시
Void 디스플레이 _ 원점 (void)
{
Int I, j;
Cout & lt& ltendl
For(I = 0;; 나 & ltm;; I++)
{
Cout & lt& lt "복권 번호:"
Cout & lt& lt "이름:"
Cout & lt& lt "평가자 점수:";
For(j = 0;; J & ltn;; J++)
{
Cout & lt<A [I] [j] < & lt "";
}
Cout & lt& ltendl
}
}
//모든 가수의 정보를 표시합니다.
Void show_player (유효하지 않음)
{
Int I;;
Cout & lt& ltendl
For(I = 0;; 나 & ltm;; I++)
{
Cout & lt& lt "복권 번호:"
Cout & lt& lt "이름:"
Cout & lt& lt "점수:"
}
}
//수상 가수의 정보를 표시합니다.
전시 _ 메달 무효화 (무효화)
{
Int I;;
Cout & lt& ltendl
Cout & lt& lt "1 등상 1:"
For(I = 0;; 나< 1. & amp 나 & ltm;; I++)
{
Cout & lt& lt "복권 번호:"
Cout & lt& lt "이름:"
Cout & lt& lt "점수:"
}
Cout & lt& lt "3 등상:" < & ltendl
For (; 나< 1+3. & amp 나 & ltm;; I++)
{
Cout & lt& lt "복권 번호:"
Cout & lt& lt "이름:"
Cout & lt& lt "점수:"
}
Cout & lt& lt "5 개 3 등상:"
For (; 나< 1+3+5. & amp 나 & ltm;; I++)
{
Cout & lt& lt "복권 번호:"
Cout & lt& lt "이름:"
Cout & lt& lt "점수:"
}
}
Int main ()
{
Input ();
Show _ origin ();
계산 ();
Show _ player ();
Sort ();
Show _ medal ();
0 을 반환합니다
}