From 6bec04c8ff49f14b96e1a37fc2ab2fb89af04064 Mon Sep 17 00:00:00 2001 From: Fudgerboy <91767657+Fudgerboy@users.noreply.github.com> Date: Mon, 19 Feb 2024 20:32:31 +0000 Subject: Mon, Feb 19, 2024, 12:32 PM -08:00 --- wk3/pset/runoff/runoff.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) (limited to 'wk3/pset') diff --git a/wk3/pset/runoff/runoff.c b/wk3/pset/runoff/runoff.c index c9ede93..4daa519 100644 --- a/wk3/pset/runoff/runoff.c +++ b/wk3/pset/runoff/runoff.c @@ -164,7 +164,38 @@ void tabulate(void) // Print the winner of the election, if there is one bool print_winner(void) { - // TODO + int winners[candidate_count]; + winners[0] = 0; + // reset it + for (int j = 1; j < candidate_count; j++) + { + winners[j] = -1; + } + // + for (int i = 1; i < candidate_count; i++) + { + if (candidates[winners[0]].votes < candidates[i].votes) // if the new candidate has more votes than previous + { + // clear the list of winners + for (int j = 1; j < candidate_count; j++) + { + winners[j] = -1; + } + // put it at the start of the new list + winners[0] = i; + } + else if (candidates[winners[0]].votes == candidates[i].votes) + { + for (int j = 1; j < candidate_count; j++) + { + if (winners[j] == -1) + { + winners[j] = j; + break; + } + } + } + } return false; } -- cgit v1.2.3