Dear John, Apparently (according to the people in irc.freenode.org#c) that initializer sets the whole array to zero. I queried this too, but apparently its correct.
Thanks for your implementation. Kind regards, Samuel On 4/05/2010, at 2:42 AM, John W. Krahn wrote: > Samuel Williams wrote: >> Dear Friends, > > Hello, > >> It would also be great if someone could rewrite the Perl source code >> example so that it is as close as possible to the C implementation: >> http://programming.dojo.net.nz/languages/c/index > > >> /* Include the standard input / output functions */ >> #include <stdio.h> >> int main() >> { >> /* Initialize the array of doors to 0 (closed) */ >> char is_open[100] = {0}; > > Why are you creating an array of 101 elements when you only use 100? Your > comment says you initialize the array but you only initialize the first > element. > >> int pass, door; >> /* Process the doors */ >> for (pass = 0; pass < 100; ++pass) >> for (door = pass; door < 100; door += pass+1) >> is_open[door] = !is_open[door]; >> /* Print out the results */ >> for (door = 0; door < 100; ++door) >> printf("Door #%d is %s.\n", door+1, (is_open[door] ? "open." : >> "closed.")); >> return 0; >> } > > > sub main() > { > # Initialize the array of doors to 0 (closed) > $is_open[100] = 0; > > # Process the doors > for ($pass = 0; $pass < 100; ++$pass){ > for ($door = $pass; $door < 100; $door += $pass+1){ > $is_open[$door] = !$is_open[$door];}} > > # Print out the results > for ($door = 0; $door < 100; ++$door){ > printf("Door #%d is %s.\n", $door+1, ($is_open[$door] ? "open." : > "closed."));} > > return 0; > } > > > > > John > -- > The programmer is fighting against the two most > destructive forces in the universe: entropy and > human stupidity. -- Damian Conway > > -- > To unsubscribe, e-mail: beginners-unsubscr...@perl.org > For additional commands, e-mail: beginners-h...@perl.org > http://learn.perl.org/ > > -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/