Wątek przeniesiony 2014-12-28 19:57 z przez bogdans. Powód: Wątek dotyczący podstaw

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

Odpowiedz Nowy wątek
2014-12-28 18:25
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

edytowany 2x, ostatnio: furious programming, 2014-12-28 22:25
Wstawiaj kod w znaczniki &lt;code=java&gt;&lt;/code&gt; - bogdans 2014-12-28 19:57

Pozostało 580 znaków

2014-12-28 18:31
Mały Orzeł
0

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

Pozostało 580 znaków

2014-12-28 18:54
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ź.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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