![]() |
![]() |
|
Programiranje Programski jezici, tehnike, alatke... |
![]() |
|
Alatke vezane za temu | Vrste prikaza |
![]() |
#1 |
Član
Član od: 2.11.2005.
Lokacija: Beograd
Poruke: 71
Zahvalnice: 7
Zahvaljeno 2 puta na jednoj poruci
|
![]()
Imam za domaci da napisem program koji ce iz ucitanog niza navi najveci parni i najmanji neparni broj. Ja sam napisao takav program ali on pravi probleme sa negativnim neparnim braojevima. Evo programa:
Kod:
program dz2; uses crt; Var Pmax,NPmin,i,N : integer; A:array [1..300] of integer; begin Repeat Repeat write ('Unesi broj elemenata niza: '); read (N); until (n>0) ; Pmax:=1; NPmin:=0; For i:=1 to n do Begin write ('Unesi ',i,'-ti element niza: '); readln(A[i]); If ((abs(A[i]) mod 2=0) and ((A[i] > Pmax) or (Pmax=1))) then Pmax:=A[i]; If ((abs(A[i]) mod 2=1) and ((A[i] < NPmin) or (NPmin=0))) then NPmin:=A[i]; end; If (Pmax=1) then writeln ('Ne postoji ni jedan paran broj') else WriteLn ('Maximalan paran broj je ',Pmax); If (NPmin=0) then writeln ('Ne postoji ni jedan neparan broj') else WriteLn ('Minimalan neparan broj je ',NPmin); Until (n<=1); Readln; end. Poslednja ispravka: Marko_L (10.12.2005 u 3:27) Razlog: dodati code tagovi |
![]() |
![]() |
![]() |
#2 |
Starosedelac
Član od: 25.10.2005.
Lokacija: Kragujevac - The Soul of Serbia
Poruke: 1.318
Zahvalnice: 98
Zahvaljeno 28 puta na 20 poruka
|
![]()
Mislim da si previse zakomplikovao, moze to i lakse
|
![]() |
![]() |
![]() |
#3 | |
Član
|
![]() Citat:
![]() Nemam neko iskustvo sa programskim jezicima... |
|
![]() |
![]() |
![]() |
#4 |
Starosedelac
Član od: 25.10.2005.
Lokacija: Kragujevac - The Soul of Serbia
Poruke: 1.318
Zahvalnice: 98
Zahvaljeno 28 puta na 20 poruka
|
![]()
Vidi se
![]() n je promenljiva... |
![]() |
![]() |
![]() |
#5 |
Ponosni Eipixovac :)
|
![]()
Evo ti kod:
Kod:
var u,n,i,max,min,i1,i2:integer; a:array [1..300] of integer; begin max:=0; min:=0; i1:=0; i2:=0; writeln('Unesite broj elemenata niza'); readln(n); for i:=1 to n do begin writeln('Unesi broj'); readln(u); a[i]:=u; if ((u mod 2 = 0) and ((u>max) or (i1=0))) then begin max:=u; i1:=1; end; if((abs(u mod 2) =1) and ((u<min) or (i2=0))) then begin min:=u; i2:=1 end; end; if i1=1 then writeln ('maximalni parni broj je',max) else writeln ('Nisu unoseni parni brojevi'); if i2=1 then writeln ('minimalni neparni broj je',min) else writeln ('Nisu unoseni neparni brojevi'); end. niz je tu chisto reda-radi, da se sacuvaju podaci... inache ti ni na treba... Poslednja ispravka: Marko_L (10.12.2005 u 3:27) Razlog: dodati code tagovi |
![]() |
![]() |
![]() |
#6 |
Veteran
|
![]()
Jedan savet za sve.
Nemojte odmah dodeljivati vrednost za min i max pre ulaska u petlju. Pretpostavimo da je dat niz A tipa integer, promenljiva MAX koja treba da vrati najvecu vrednost niza, kao i da je uneta promenlijva N koja oznacava dimenziju niza... Do greske ce doci ako na primer napisete: Kod:
max := 0; for i := 1 to n do if a[i] > max then max := a[i]; Mnogo je bolje PRVI element niza proglasiti za najmanji / najveci, a potom sa njim uporedjivati. Npr: Kod:
max := a[1]; for i := 2 to n do if a[i] > max then max := a[i]; Poslednja ispravka: Nemesis (10.12.2005 u 16:19) |
![]() |
![]() |
![]() |
#7 |
Član
Član od: 2.11.2005.
Lokacija: Beograd
Poruke: 71
Zahvalnice: 7
Zahvaljeno 2 puta na jednoj poruci
|
![]()
Nasao sam gresku u mom kodu, to jest nije bila greska u kodu vec u tome sto nisam kompajlirao program pa je pokretao pogresnu verziju. U svakom slucaju hvala na pomoci.
PS: until (n<0) se odnosi na duzinu niza a ne na clanove niza. |
![]() |
![]() |
![]() |
#8 |
Ponosni Eipixovac :)
|
![]()
@nemesis: Da...ali ovde je problem sto imamo dva dela : pozitivne i negativne brojeve, pa bi se moglo desiti da se ne unese recimo neparan broj, i on za najmanji neparan ispishe prvi uneti broj... zato sam stavio i1 i i2 kao indikatore da li su uopste uneti parni i neparni brojevi.
eto, samo toliko.... |
![]() |
![]() |
![]() |
#9 |
Član
Član od: 2.11.2005.
Lokacija: Beograd
Poruke: 71
Zahvalnice: 7
Zahvaljeno 2 puta na jednoj poruci
|
![]()
@nemesis: kod mene je to reseno postavljanjem Pmax (NPmin) na neparan (paran) broj, i ako taj broj takav i ostane znaci da nema parnih (neparnih).
|
![]() |
![]() |
![]() |
#10 |
Veteran
|
![]()
3dM@niak: U pravi si. Nisam se lepo izrazio. Hteo sam samo da napomenem generalni slucaj trazenja min/max u nizu, pa se deo koda odnosi na opsti problem, s obzirom da su takvi zadaci cesti.
Sto se konkretnog problema tvoj pristup je OK, jedino sto bih umesto i1 i i2 kao integer koristio boolean vrednosti. No, to je samo stvar ukusa. Poslednja ispravka: Nemesis (11.12.2005 u 3:19) |
![]() |
![]() |
![]() |
#11 |
Ponosni Eipixovac :)
|
![]()
ok
![]() |
![]() |
![]() |
![]() |
#12 | |
paparazzo
Član od: 24.12.2005.
Lokacija: Zip fajl!
Poruke: 1.165
Zahvalnice: 121
Zahvaljeno 601 puta na 179 poruka
|
![]() Citat:
ps: ovo je napisao moj ortak, valjda je u pravu ![]() Poslednja ispravka: kinteC (16.1.2006 u 20:13) |
|
![]() |
![]() |
![]() |
Bookmarks sajtovi |
|
|
![]() |
||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Age Of Empires II | vladale | Strateške igre | 60 | 2.2.2012 21:27 |
Problem sa CSI: Miami + Splinter Cell 3 | dzambo | O igrama uopšte | 14 | 3.5.2008 18:51 |
Quick TV problem... | The Dark Gamer | Video/TV softver | 12 | 24.12.2005 17:02 |
U.S. Robotics problem | Nikola Milosavljevic | Kvarovi | 7 | 12.12.2005 0:36 |
Problem sa Bojnim poljem 1942 | zukov | Mrežne igre | 8 | 14.11.2005 13:33 |