Language C At the Olympic Games many of the events are judge
Solution
#include <iostream>
#include <vector>
using namespace std;
void printAthleteDetails(int athleteId,float average);
float computeAverage(vector<float> scores, int noOfJudges);
int main() {
char continueInput;
float maxAverage = 0.0;
float maxAverageAthleteId;
while(true)
{
cout<<\"Enter athlete details(y/n):\";
cin>>continueInput;
if(continueInput == \'n\')
break;
else
{
int athleteId,noOfJudges;
float score;
cin>>athleteId;
cin>>noOfJudges;
vector<float> scores;
for(int i = 0; i < noOfJudges; i++)
{
cin >> score;
scores.push_back(score);
}
float average = computeAverage(scores,noOfJudges);
printAthleteDetails(athleteId,average);
if(average > maxAverage)
{
maxAverage = average;
maxAverageAthleteId = athleteId;
}
}
}
cout<<\"Max average, \"<<maxAverage<<\" is achieved by athleteId \"<<maxAverageAthleteId<<endl;
return 0;
}
float computeAverage(vector<float> scores, int noOfJudges)
{
float average;
float minScore = 10.0,maxScore = 0.0,sumOfScores=0.0;
for(int i = 0; i < scores.size(); i++)
{
if(scores[i] < minScore)
minScore = scores[i];
if(scores[i] > maxScore)
maxScore = scores[i];
sumOfScores += scores[i];
}
average = (sumOfScores - minScore - maxScore)/(noOfJudges - 2);
return average;
}
void printAthleteDetails(int athleteId,float average)
{
cout<<athleteId<<\"\\t\"<<average<<endl;
}

