Hello, im writtign a program that will process basketball data. The ending file will look like this:
Rank Team W-L % WINS MARGIN W-L % WINS MARGIN
1 WILM 3-1 0.750 +7.25 7-2 0.778 +10.00
1 OTT 3-1 0.750 +14.00 5-4 0.556 +7.56
1 ONU 3-1 0.750 +15.25 7-2 0.778 +17.78
1 CAP 3-1 0.750 +11.75 7-2 0.778 +13.67
1 BW 3-1 0.750 +10.50 8-1 0.889 +13.56
6 MUC 2-2 0.500 -6.25 4-4 0.500 -0.50
7 MUSK 1-2 0.333 -12.00 5-3 0.625 +2.63
8 HEID 1-3 0.250 -4.00 3-4 0.429 +1.57
9 MAR 0-4 0.000 -29.75 2-7 0.222 -10.89
9 JCU 0-3 0.000 -13.00 2-5 0.286 -3.00
I need a for loop that wil compare the % wins and if the are the same to store the same rank in the array else store the corresponding rank.
So, sort the data, and check to see if the current team's win pct is the same as the previous team's win pct (which you must have stored somewhere).
Yes, i have stored and stored it in parllel arrays.
i used a bubble sort, so the highest would be in cell number 9 and the lowest is in cell 0
when iuse a backward for loop the current count is not the count i need. So the when i get to memory cell 0, i would need a rank of 9 rather than a 1 or a 0. So i think i would need to use two forloops. right?
That's a little awkward, since that's the wrong way around (you want the highest winning percentage first). But otherwise, you're done -- check against the previous team, and if their win pct is the same, assign this team the same rank as the old team, otherwise assign this team the rank i+1 (or whatever your loop counter is).
ok, so i think i might need to change the sort i used.
You could just change the comparison operator you're using '<' vs. '>' in your bubble sort, and it should be sorted in the reverse order of you're sorting it now.
int pointsTemp, conferenceWinstemp,winsTemp, loseTemp, pointsloseTemp, conferenceLosetemp, conferencePointsTemp, conferencePointsloseTemp; // temp place to store element during swap
float totalAvarageTemp, avaregeTemp;
int swaps; // swaps made in single pass
int slot = 9; // start at last slot
swaps = 0; // have made no swaps yet in this pass
for (int i = 0; i< slot; i++) // for all elements above this slot
if (ConferenceAvarege[i] < ConferenceAvarege[i-1]) // if in wrong relative order
avaregeTemp = ConferenceAvarege[i]; // swap them
ConferenceAvarege[i] = ConferenceAvarege[i-1];
ConferenceAvarege[i-1] = avaregeTemp;
nameTemp = school.name[i]; // swap them
school.name[i] = school.name[i-1];
school.name[i-1] = nameTemp;
conferenceWinstemp = school.conferenceWins[i]; // swap them
school.conferenceWins[i] = school.conferenceWins[i-1];
school.conferenceWins[i-1] = conferenceWinstemp;
conferenceLosetemp = school.conferenceLose[i]; // swap them
school.conferenceLose[i] = school.conferenceLose[i-1];
school.conferenceLose[i-1] = conferenceLosetemp;
conferencePointsloseTemp = school.conferencePointslost[i]; // swap them
school.conferencePointslost[i] = school.conferencePointslost[i-1];
school.conferencePointslost[i-1] = conferencePointsloseTemp;
conferencePointsTemp = school.conferencePoints[i]; // swap them
school.conferencePoints[i] = school.conferencePoints[i-1];
school.conferencePoints[i-1] = conferencePointsTemp;
winsTemp = school.wins[i]; // swap them
school.wins[i] = school.wins[i-1];
school.wins[i-1] = winsTemp;
loseTemp= school.lose[i]; // swap them
school.lose[i] = school.lose[i-1];
school.lose[i-1] = loseTemp;
pointsTemp = school.points[i]; // swap them
school.points[i] = school.points[i-1];
school.points[i-1] = pointsTemp;
pointsloseTemp = school.pointsLost[i]; // swap them
school.pointsLost[i] = school.pointsLost[i-1];
school.pointsLost[i-1] = pointsloseTemp;
totalAvarageTemp = Totalavarage[i]; // swap them
Totalavarage[i] = Totalavarage[i-1];
swaps++; // note that a swap was made
slot--; // get ready to do next slot up
}while (slot>0&& swaps>0);
I changed all my comparsion to the oppsite and put minus where plus was. Is that right?
no, sorry. I just did it right. Thank you. Can you help me do the for loop to do the rank