Bardzo proszę o pomoc.
Obliczanie średniej ocen od 9 sędziów wykluczając ocenę najwyższą oraz najniższą. Ćwiczenie mówi aby nie używać array. Program działa, ale zastanawiam się czy jest jakoś prostszy sposób?
#include <iostream>
#include <iomanip>
using namespace std;
void getScores();
void findLowest();
void findHighest();
void finalScore();
float j1, j2, j3, j4, j5, j6, j7, j8, j9, lowestScore, highestScore;
float theScore = 0;
int main()
{
char answer;
do
{
getScores();
findLowest();
findHighest();
finalScore();
cout << "\nOneMoreTime (Y/N) : ";
cin >> answer;
} while (answer == 'Y' || answer == 'y');
return 0;
}
void getScores()
{
cout << "Enter nine judges' scores with one decimal: ";
cin >> j1 >> j2 >> j3 >> j4 >> j5 >> j6 >> j7 >> j8 >> j9;
}
void findLowest()
{
if ((j1 < j2) && (j1 < j3) && (j1 < j4) && (j1 < j5) && (j1 < j6) && (j1 < j7) && (j1 < j8)&& (j1 < j9)) {
lowestScore = j1;
}
else if ((j2 < j1) && (j2 < j3) && (j2 < j4) && (j2 < j5) && (j2 < j6) && (j2 < j7) && (j2 < j8)&& (j2 < j9)) {
lowestScore = j2;
}
else if ((j3 < j1) && (j3 < j2) && (j3 < j4) && (j3 < j5) && (j3 < j6) && (j3 < j7) && (j3 < j8)&& (j3 < j9)) {
lowestScore = j3;
}
else if ((j4 < j1) && (j4 < j2) && (j4 < j3) && (j4 < j5) && (j4 < j6) && (j4 < j7) && (j4 < j8)&& (j4 < j9)) {
lowestScore = j4;
}
else if ((j5 < j1) && (j5 < j2) && (j5 < j3) && (j5 < j4) && (j5 < j6) && (j5 < j7) && (j5 < j8) && (j5 < j9)) {
lowestScore = j5;
}
else if ((j6 < j1) && (j6 < j2) && (j6 < j3) && (j6 < j4) && (j6 < j5) && (j6 < j7) && (j6 < j8) && (j6 < j9)) {
lowestScore = j6;
}
else if ((j7 < j1) && (j7 < j2) && (j7 < j3) && (j7 < j4) && (j7 < j5) && (j7 < j6) && (j7 < j8) && (j7 < j9)) {
lowestScore = j7;
}
else if ((j8 < j1) && (j8 < j2) && (j8 < j3) && (j8 < j4) && (j8 < j5) && (j8 < j6) && (j8 < j7) && (j8 < j9)) {
lowestScore = j8;
}
else if ((j9 < j1) && (j9 < j2) && (j9 < j3) && (j9 < j4) && (j9 < j5) && (j9 < j6) && (j9 < j7) && (j9 < j8)) {
lowestScore = j9;
}
}
void findHighest()
{
if ((j1 > j2) && (j1 > j3) && (j1 > j4) && (j1 > j5) && (j1 > j6) && (j1 > j7) && (j1 > j8)&& (j1 > j9)) {
highestScore = j1;
}
else if ((j2 > j1) && (j2 > j3) && (j2 > j4) && (j2 > j5) && (j2 > j6) && (j2 > j7) && (j2 > j8)&& (j2 > j9)) {
highestScore = j2;
}
else if ((j3 > j1) && (j3 > j2) && (j3 > j4) && (j3 > j5) && (j3 > j6) && (j3 > j7) && (j3 > j8)&& (j3 > j9)) {
highestScore = j3;
}
else if ((j4 > j1) && (j4 > j2) && (j4 > j3) && (j4 > j5) && (j4 > j6) && (j4 > j7) && (j4 > j8)&& (j4 > j9)) {
highestScore = j4;
}
else if ((j5 > j1) && (j5 > j2) && (j5 > j3) && (j5 > j4) && (j5 > j6) && (j5 > j7) && (j5 > j8) && (j5 > j9)) {
highestScore = j5;
}
else if ((j6 > j1) && (j6 > j2) && (j6 > j3) && (j6 > j4) && (j6 > j5) && (j6 > j7) && (j6 > j8) && (j6 > j9)) {
highestScore = j6;
}
else if ((j7 > j1) && (j7 > j2) && (j7 > j3) && (j7 > j4) && (j7 > j5) && (j7 > j6) && (j7 > j8) && (j7 > j9)) {
highestScore = j7;
}
else if ((j8 > j1) && (j8 > j2) && (j8 > j3) && (j8 > j4) && (j8 > j5) && (j8 > j6) && (j8 > j7) && (j8 > j9)) {
highestScore = j8;
}
else if ((j9 > j1) && (j9 > j2) && (j9 > j3) && (j9 > j4) && (j9 > j5) && (j9 > j6) && (j9 > j7) && (j9 > j8)) {
highestScore = j9;
}
}
void finalScore()
{
theScore = ((j1 + j2 + j3 + j4 + j5 + j6 + j7+ j8 + j9) - (lowestScore + highestScore)) /7;
cout << "The score is : " << setprecision(1) << fixed << theScore << endl;
}