My homework problem:
An array of integers named parkingTickets has been declared and initialized to the number of parking tickets given out by the city police each day since the beginning of the current year. (Thus, the first element of the array contains the number of tickets given on January 1; the last element contains the number of tickets given today.)
A variable named ndays has been declared and initialized to hold the size of the array. (Thus, if today were January 18, ndays would have the value 18; if today were February 3, ndays would have the value 34.)
In addition, a variable named mostTickets has been declared, along with a variable k .
Without using any additional variables, and without changing the values of ndays or the elements of the parkingTickets array, write some code that results in mostTickets containing the largest value found in parkingTickets .
For this, I have the following code:
for(k = 0; k < ndays; k++) {
if (parkingTickets[k] > parkingTickets[ndays]) {
mostTickets = parkingTickets[k];
}
}
But my exercise submitter is saying it’s wrong. What’s wrong with my code? I tried parkingTickets[ndays - 1] as well, but that doesn’t work either.
Your comparison is wrong. You’re comparing the current element to the last element each time. What you need to do is compare the current element to mostTickets. i.e.
Also, for good measure, I would recommend initializing mostTickets to being parkingTickets[0].