Strona główna › Pytania INF.04 › Pytanie 15
INF.04 · pytanie #15
W wyniku realizacji zaprezentowanego kodu na ekranie pojawią się: <pre class="code-block"> int tablica[10]; for (int i = 0; i < 10; i++) { if (i % 3 != 0) std::cout << tablica[i] << ", "; } </pre>
- Awszystkie elementy tablicy, które mają wartość nieparzystą
- Bwszystkie elementy tablicy, które są wielokrotnością 3
- Celementy z indeksów tablicy, które są podzielne przez 3
- Delementy tablicy o indeksach: 1, 2, 4, 5, 7, 8
Poprawna odpowiedź: D. elementy tablicy o indeksach: 1, 2, 4, 5, 7, 8
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
W tym zadaniu najważniejsze było zrozumienie warunku if oraz sposobu działania instrukcji for. Kod przechodzi po wszystkich elementach tablicy o 10 pozycjach, ale wyświetla tylko te, dla których indeks nie jest podzielny przez 3. Sprawdzenie tego realizuje się przez resztę z dzielenia: i % 3 != 0. Czyli dla i=0,3,6,9 warunek nie zostanie spełniony, więc te elementy zostaną pominięte. Zostaną więc wyświetlone elementy o indeksach 1, 2, 4, 5, 7, 8. To jest bardzo popularny patent w programowaniu, kiedy chcemy pominąć pewne elementy w tablicy lub kolekcji na podstawie prostego warunku logicznego. Często używa się podobnych konstrukcji przy analizie danych, np. przy wykluczaniu co któregoś rekordu z przetwarzania, czy też przy operacjach na grafach lub macierzach. Moim zdaniem warto zapamiętać taki sposób sprawdzania, bo pozwala pisać kod bardziej czytelny i łatwy do modyfikacji. Z mojego doświadczenia, gdy programuje się coś na konkursy albo optymalizuje zadania, takie triki z modulo przyspieszają proces myślowy. Dodam jeszcze, że domyślne wartości w tablicy typu int nie są zainicjalizowane, więc wynik jest zależny od środowiska, ale w tym pytaniu chodzi tylko o indeksy, nie wartości.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.