#include <iostream>
#define N 10
using namespace std;
void main()
{
int kor[N] = { 90, 80, 80, 75, 90, 85, 75, 60, 95, 85 };
int math[N] = { 80, 85, 95, 75, 50, 70, 89, 70, 85, 95 };
int eng[N] = { 80, 60, 70, 80, 75, 90, 80, 75, 75, 60 };
char name[N][8] = { "정순열", "김나라", "송열희", "이미영", "김민준", "정희라", "최지영", "유정순", "박수진", "배은미" };
double avg[N];
int rank[N];
int rankAVG[N];
int rankKor[N];
int rankMath[N];
int rankEng[N];
int rankName[N];
double avgTemp[N];
int korTemp[N];
int mathTemp[N];
int engTemp[N];
char nameTemp[N][8] = { "정순열", "김나라", "송열희", "이미영", "김민준", "정희라", "최지영", "유정순", "박수진", "배은미" };
double temp;
int temp2;
int temp3;
for (int i = 0; i < N; i++){
avgTemp[i] = avg[i] = (kor[i] + math[i] + eng[i]) / 3;
rankMath[i] = rankKor[i] = rankEng[i] = rankAVG[i] = i;
korTemp[i] = kor[i];
mathTemp[i] = math[i];
engTemp[i] = eng[i];
}
for (int j = 0; j < N - 1; j++) {
for (int i = 0; i < N - 1 -j; i++) {
if (avgTemp[i] > avgTemp[i + 1]) {
temp = avgTemp[i];
avgTemp[i] = avgTemp[i + 1];
avgTemp[i + 1] = temp;
temp2 = rankAVG[i];
rankAVG[i] = rankAVG[i + 1];
rankAVG[i + 1] = temp2;
}
if (korTemp[i] > korTemp[i + 1]) {
temp3 = korTemp[i];
korTemp[i] = korTemp[i + 1];
korTemp[i + 1] = temp3;
temp2 = rankKor[i];
rankKor[i] = rankKor[i + 1];
rankKor[i + 1] = temp2;
}
if (mathTemp[i] > mathTemp[i + 1]) {
temp3 = mathTemp[i];
mathTemp[i] = mathTemp[i + 1];
mathTemp[i + 1] = temp3;
temp2 = rankMath[i];
rankMath[i] = rankMath[i + 1];
rankMath[i + 1] = temp2;
}
if (engTemp[i] > engTemp[i + 1]) {
temp3 = engTemp[i];
engTemp[i] = engTemp[i + 1];
engTemp[i + 1] = temp3;
temp2 = rankEng[i];
rankEng[i] = rankEng[i + 1];
rankEng[i + 1] = temp2;
}
}
}
for (int i = N-1,j=1; i >= 0; i--,j++){
rank[rankAVG[i]] = j;
}
cout << "이름 국어 수학 영어 평균 석차" << endl;
for (int i = N-1; i >=0; i--){
int index = rankKor[i];
cout << name[index] << " " << kor[index] << " " << math[index] << " " << eng[index] << " " << avg[index] << " " << rank[index] << endl;
}
}
코딩고수가 본다면 딥빡할코드 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
보수는 바라지않는다 그냥 알아서고쳐써 귀찮다
이미 랭크별로 저장되어있으니 rankKor[i] 요런식으로 접근하면됨. 이름별 석차도하고싶었는데 일베충인거보고 할생각접음
이딴걸 디비놔두고 왜 소스단에 집어넣는거죠?
연습이니까요 그리고 모르고 double 캐스팅안해놓음 avgTemp[i] = avg[i] = (double)(kor[i] + math[i] + eng[i]) / 3;
으윽 상당히 아니꼬은 반복이 보이지만 읽기도 귀찮으니 거르도록 합니다
ㄴㅋㅋㅋㅋㅋ
사실 저도 방학때 3000라인 넘어가니까 좆같아서 저런 코드 남발하더군요
함수도 하나야. 꿀밤이나 맞아라 이놈.
함수쓰지말라고해서 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ
간만에 발코딩하느라 즐거웠음... 전다시 재밌는 자바하러