Dominika 138 wyśw. 01-07-2024 22:45

zad.dom 2 - Zadanie 23






Proszę o podpowiedź, gdzie jest błąd

int liczba=6;

 int i=1;

int a=1;

while(i<=liczba)

{System.out.print("\nLiczba " + i + ", liczby z przedziału podzielne przez tę liczbę: ");

  while(a<=liczba)

  {if(a%i==0){System.out.print(a + " ");};a++; };

  i++;}




programowanie Dodaj post do ulubionych Poproś o pomoc
s.gugula 02-07-2024 09:14

W wewnętrznej pętli każdorazowo zwiększana jest wartość a, natomiast nie jest ona nigdzie z powrotem ustawiana na wartość 1 przy kolejnym wejściu do pętli zewnętrznej. Czyli po pierwszym obejściu pętli wewnętrznej a = 7 i rozpoczyna się drugi obieg pętli zewnętrznej, ale a dalej zostaje równe 7, dlatego potem nic nie jest wypisywane ;)

Trzeba więc na początku ciała pętli zewnętrznej ustawić z powrotem a = 1 i będzie ok :)