Tak, ale do tego jak i do tanga najlepiej potrzeba dwojga
- Może napiszę więcej potem.
Pytasz o znalezienie błędnego testu w twoim kodzie - przecież to nie powinno być takie trudne. Jeżeli testujesz na konsoli.
Pierwsze co robisz, wypisujesz na kartce wszystkie godziny - palindromy, zaczynając np od zera:
00:00 0
00:01 1
..
00:09 9
00:11 11
00:22 22
..
23:32 2332
po drodze są jeszcze palindromy typu:
01:01 101
01:11 111
..
01:51 151
..
To zadanie można zrobić na kilka sposobów. Np tak jak opisałem w tutorialach, lub stablicować wszystkie palindromy lub tak jak usiłujesz zrobić Ty. Patrząc na nazwę twojej funkcji, prawdopodobnie usiłujesz na podstawie aktualnej godziny [i minuty] wygenerować i wypisać z bólem kolejny palindrom: static bool KolejnyPalindor (...)
Pewnie można, ale tak jest dużo trudniej, a w programowaniu chodzi o to żeby było łatwiej i szybciej. Już któryś z wielkich teoretyków [i praktyków] informatyki napisał, że przedwczesna optymalizacja jest zła, a twój sposób wcale nie spowoduje powstanie szybszego kodu niż opisany w tutorialu. W końcu jest tylko 24*60 = 1440 liczb a sprawdzasz i tak tylko kilka najbliższych następnych.
Dodatkowo, funkcja, to taka czarna skrzynka - dostaje na wejściu liczbę, więc też powinna tylko “wyrzucić” liczbę lub tylko odpowiedź tak/nie, a nie drukować odpowiedzi. Dobra funkcja “zajmuje się” i specjalizuje tylko w jednej rzeczy, którą robi dobrze, więc tylko szuka najbliższego palindromu a nie dodatkowo drukowaniem. A co jeżeli chciałbyś w main() wykorzystać uzyskany palindrom do włączenia lub wyłączenia innego urządzenia [innego niż drukarka] ?