I'm trying to print a player and their score from highest score to lowest. I can get it to descend, but it does not correlate to the correct player name.
With the following code:
void showPlayers() {
int desc;
for (int i = 0; i < pointer; i++) {
for (int j = 0; j < pointer; j++) {
if (scores[i] < scores[j]) { //flipping comparison operator descends data,
//but either increments/decrements each player's
//score
desc = scores[i];
scores[i] = scores[j];
scores[j] = desc;
}
}
}
for (int i = 1; i < pointer; i++) {
cout << playerNames[i] << "\t" << scores[i] << "\n";
}
cout << endl;
}
I am receving an output like:
Player1 20
Player2 30
Player3 40
for (int i = 0; i < pointer; i++) {
for (int j = 0; j < pointer; j++) {
if (scores[i] > scores[j]) {
swap(scores[i], scores[j]);
}
}
}
for (int i = 0; i < pointer; i++) {
for (int j = 0; j < pointer; j++) {
if (playerNames[i] > playerNames[j]) {
swap(playerNames[i], playerNames[j]);
}
}
}
for (int i = 0; i < pointer; i++) {
cout << playerNames[i] << "\t" << scores[i] << "\n";
}