Re: C++ Homework. Please help :-)
<josten.moore@gmail.com> wrote in message
news:6d3c4f6c-8bbb-48bd-b2f6-115fab425481@p20g2000yqi.googlegroups.com...
I've been acing my class up to this far however the teacher has given
an homework assignment that I just cannot seem to come up with an
algorithm to do this. I've put about 5 hours within the past day or
say pondering an algorithm that conforms to these rules:
1) Cannot use function(s), array(s)
2) Must ONLY use loop structures (for, do...while)
I have all the source setup BUT the algorithm. Anyways here is the
source (the question in included). Also note that I am not asking for
the answer; I just want a 'push' into find the correct answer.
Thanks :-)
The problem in question was definately intended to be answered using arrays,
as well as a for loop.
However, it can be done as written.
Here is some really rough pseudo-code for the algo, leaving important
components intentionally vauge.
for (int locker=1;locker<=amountOfLockers; locker++)
{
locker starts closed
for(int student=1; student<=1000; student++) {
check if student will be checking this locker;
if so swap the locker state
}
now check what the final state of locker is.
if it is open, openLockers++;
else closedLockers++;
}
The above algorithm is \Theta(n^2) which is really quite awful, but is the
simplest algorithm that meets the requirement, that I can think of, without
spending too much time.
With that, the rest of the assignment should probably be simple enough.
--
[ See http://www.gotw.ca/resources/clcm.htm for info about ]
[ comp.lang.c++.moderated. First time posters: Do this! ]