Napisano: 13 Maj 2014 21:17
crusher ::Nju sam iskoristio da bih posle mogao da dam promenljivi j indeks poslednjeg elementa u nizu a.Tek sada videh ovo i...
Koji je indeks poslednjeg elementa u nizu od n elemenata?
Dopuna: 13 Maj 2014 21:20
crusher ::Ali zasto? Zar nebi trebalo da bude isto ako stavim k <= n?Pazi, kada k bude jednako n-1, uslov petlje će biti zadovoljen (n-1 < n, zar ne ). Odmah nakon toga, obzirom da je uslov zadovoljen, brojač se inkrementira (k++). Dakle, k dobija vrednost k + 1 = n - 1 + 1 = n => k = n.
Dopuna: 13 Maj 2014 21:28
Svakako, logika ti je loša. Menjaš jedan element samo sa jednim elementom. Znači, nikako ne možeš da imaš ugnježdene petlje. Ovo što si ti prvobitno napisao menja poziciju jednog elementa (A[i]) sa svim elementima (A[j] unutar ugnježdene petlje). Zbog toga je rezultat nekorektan.
Takođe, ovo je moguće uraditi i na jedan jednostavniji i razumljiviji način, samo ako se pažljivo čita zadatak. Menjaš prvi i poslednji, drugi i pretposlednji itd. Šta u stvari radiš? Praviš odraz u ogledalu (mirror kopija) datog niza, odnosno samo okrećeš redosled elemenata. Redosled menjaš najjednostavnije tako što sve elemente niza prepišeš u pomoćni niz počevši od poslednjeg, a zatim sve elemente iz pomoćnog niza vratiš u početni niz, počevši od prvog (najnormalnije prepišeš niz).
Dakle, nije sve u tome da se samo sedne i da se kuca kod, već treba pre toga malo i razmisliti, uzeti neki konkretan primer, izvrteti, u glavi ili na papiru. Nakon toga, kada se shvati suština, sve ide mnogo lakše.
|