Wątek przeniesiony 2014-12-28 19:57 z Java przez bogdans.

Zagnieżdzone pętle wypełniające tablicę

0

Witam,
napisałem kod, który wypełnia tablicę jednowymiarową wartościami od 1 do 50 i dalej od 100 do 51 kod poniżej:

int []a = new int[100];
int licznik =100;

//Wypełnienie pętli od 0 do 49 indeksu wartościami o 1 większymi niż index
for(int q=0;q<50;q++)
    {
       a[q]=q+1;	
    }	

//wypełnienie pętli od 50 do 99 indeksu wartościami od 100 do 51 
for(int q=50;q<100;q++)
     {
       a[q]=licznik;
       licznik--;	
     }

//wyświetlenie danych
for(int w=0;w<100;w++ )
     {
       System.out.println(a[w]);
     }

i drugi kod, który nie rozumiem dlaczego nie robi tego samego co poprzedni

int []a = new int[100];
int licznik =100;

for(int q=0;q<=50;q++)
    {
	for(int w=50;w<100;w++)
	    {
		a[q]=q+1;	
		a[w]=licznik;
		licznik--;
	    }
			
     }

Pierwsze przejście:

a[0] = 0+1
a[50] = 100
licznik zmniejszony 99

Drugie przejście

a[1] = 1+1
a[51] = 99
licznik zmniejszony 98

itd.

a daje to inny wynik, prosiłbym o podpowiedź.
Pozdrawiam

dodanie znaczników <code> i uzupełnienie tagów - @furious programming

0

Środkowa pętla za pierwszym razem robi to co chcesz, ale ona wykonuje się 50 razy.

0

Już, rozumiem, myślałem, że wykona się raz i przejdzie to tej zewnętrznej a ona(wewnętrzna) wykona się cała i dopiero przejdzie do pierwszego for'a.
Dziękuję za podpowiedź.

1 użytkowników online, w tym zalogowanych: 0, gości: 1