Question
Score the Race Introduction Some number of teams are participating in a race. You are not told how many teams are participating but you do
Score the Race
Introduction
Some number of teams are participating in a race. You are not told how many teams are participating but you do know that:
Each team has a name, which is one of the uppercase letters A-Z.
No two teams have the same name, so there are a maximum number of 26 teams.
Each team has the same number of members.
No two runners cross the finish line at the same time i.e. there are no ties.
At the end of the race we can write the results as a string of characters indicating the order in which runners crossed the finish line.
For example: ZZAZAA
We can see there were two teams: A and Z. Team As runners finished in 3rd, 5th and 6th place. Team Zs runners finished in 1st, 2nd and 4th place.
Scoring the race
Each runner is assigned a score equal to their finishing place. In the example above team Zs runners achieved scores of 1, 2 and 4. Team As runners scores were 3, 5, and 6 respectively.
The teams score is the sum of the members score divided by the number of people on the team. So team
As score is (3+5+6)/3 = 14/3=4.66 and team Zs score is (1+2+4)/3=7/3=2.33 The Problem
Write a program to score races as described above.
Input
Your program will ask the user to input a string of uppercase characters indicating the outcome of a race.
Output
Your program will output:
The number of teams.
The number of runners on a team.
The names of the teams in alphabetical order - together with the team score. The name and score of the winning team.
So for the example above the program will print:
There are 2 teams.
Each team has 3 runners.
Team Score
A 4.66
Z 2.33
The winning team is team Z with a score of 2.33.
Your program should loop asking for input processing the data until the user enters done.
Your program should detect the error condition where teams do not have the same number of runners. In that case it should print an error message, and resume by requesting the next input.
Given these outline:
#includeusing namespace std; bool isValid( ... ){ // If the teams do not all have the same number of runners, // Print an error message and return false } void printResult( ... ){ 1.print number of teams. 2.print number of runners for a team. 3.print each team score 4.print wining team with score. } int main() { while (true) { string race; cout << "Please enter the results of the race: "; cin >> race; int score[26]={};//score for each team. int counts[26]={};//count each team member. // if race is "done" finish program. if ( isValid( ... ) ){ printResult( ... ); } } return 0; }
Can an expert help me build codes for this assignment? I am confused how to do, I need a reference to study. Thank you!
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started