nie działa to znaczy co się dzieje? to co faktycznie może nie działać to że nie gasną ostatnie diody, ale powinno być znacznie lepiej niż w Twoim programie.
pierwszy if jest po to żeby wyrównać licznik (number) kiedy zmieniasz port na którym wyświetlasz - zobacz że jak przełączasz kończysz wyświetlać na porcieB to number ma wartość 16 jak pomnożysz *2 to będziesz miał 32 i taką liczbę wrzucasz na portC (czyli tam było to zapalenie tylko ostatniej diody (PC5) a tak na prawdę musisz zacząć liczyć od nowa - od PC2.
Z dwoma pętlami for będzie znacznie łatwiej masz rację
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
to jest bardziej czytelne dla Ciebie?
Daj sobie pomóc i opisz dokładnie co się dzieje i czego oczekujesz.
Zapisz sobie na kartce kolejne wartości jakie potrzebujesz wyświetlić na poszczególnych portach może to Ci ułatwi sprawę...