int main()
{
int num = 0;
int num2 = 0;
int max = 0;
int min = 100;
double M[50][20];
double m[50][20];
double r[50][10];
int cnt = 0;
int cnt2 = 0;
int check = 0;
int bae[40] = { 0, };
double bae2[50][40] = { 0, };
int temp = 0;
double maximum=0;
int chk=0;
while (1)
{
cout << "학생 수 를 입력하시오(단, 50명 이하)\n";
cin >> num;
if (num > 50){
cout << "50명 이하로 입력하시오...\n";
}
else
break;
}
for (int i = 0; i < num; i++)
{
while (1)
{
cout << i + 1 << "번째 테스트 케이스에 대한 인원을 입력하시오...(단, 3명이상 40명 이하)\n";
cin >> num2;
if (num2<3 || num2>40)
{
cout << "3이상 40이하의 수를 입력하시오...\n";
}
else
break;
}
bae[i] = num2;
for (int j = 0; j < bae[i]; j++)
{
cout << bae[i] << "명에 대한 수만큼 점수를 입력하시오(단, 시험 점수는 0점 이상 100점 이하입니다...)\n";
while (1){
cin >> bae2[i][j];
if (bae2[i][j]<0 || bae2[i][j]>100)
cout << "0이상 100이하의 수를 입력하시오...\n";
else
break;
}
}
}
for (int i = 0; i < num; i++)
{
for (int j = 0; j < bae[i]; j++)
{
for (int k = 0; k < bae[i]; k++)
{
if (bae2[i][j] > bae2[i][k])
{
temp = bae2[i][j];
bae2[i][j] = bae2[i][k];
bae2[i][k] = temp;
}
}
}
}
for (int i = 0; i < num; i++)
{
for (int j = 0; j < bae[i]/2; j++)
{
M[i][j] = bae2[i][j];
m[i][j] = bae2[i][bae[i] -1 - j];
if ((bae[i] % 2) != 0)
{
r[i][0] = bae2[i][(bae[i] / 2)];
r[i][j + 1] = (M[i][j] + m[i][j]) / 2;
}
else
{
r[i][j] = (M[i][j] + m[i][j]) / 2;
}
}
}
for (int i = 0; i < num; i++)
{
for (int j = 0; j < (bae[i] / 2) +1; j++)
{
if (chk != i)
{
chk = i;
cout.precision(1);
cout << fixed;
cout << maximum <<endl;
maximum = 0;
j = 0;
}
if (chk == i)
{
if (r[i][j]>maximum)
maximum = r[i][j];
if (i == num - 1 && j == (bae[i] / 2))
{
cout << maximum;
}
}
}
}
return 0;
김진성
https://algospot.com/judge/problem/read/YULO
이 문제 풀었습니다.
코드는
~~~ c++
#include
#include
using namespace std;
int main()
{
int num = 0;
int num2 = 0;
int max = 0;
int min = 100;
double M[50][20];
double m[50][20];
double r[50][10];
int cnt = 0;
int cnt2 = 0;
int check = 0;
int bae[40] = { 0, };
double bae2[50][40] = { 0, };
int temp = 0;
double maximum=0;
int chk=0;
}
//이거 구요 왜 런타임 오류가날까요 제 컴퓨터에선 잘돌아가는데...ㅠㅠ
11년 전