Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Komplikovana logika

[es] :: Pascal / Delphi / Kylix :: Komplikovana logika

[ Pregleda: 2705 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 871
*.dialup.blic.net.



+148 Profil

icon Komplikovana logika11.04.2005. u 15:06 - pre 231 meseci
Pokusao sam uraditi jedan klasicni skolski zadatak (Razvrstati sto slucajno odabranih (ili zadanih) brojeva u rastucem redoslijedu), sinula mi je ideja, i nakon unosenja i ispravljanja svih sintaksnih greski- pogadjate... program i dalje ne radi.
Dakle kada ga pokrenem on mi 100 puta napise broj 99 (posto sam stavio da bira brojeve 1-100) umjesto da napise 1,2,3,5... zavisno od brojeva koje je odabrao.
Evo kako program izgleda, pa ako ima neko da voli lupati glavu nad jednostavnim zadacima koji uporno ne rade neka proba:

Program Paskal;
Uses Crt;
Var Niz : array [1..100] of integer;
nizrazvrstanih:array [1..100] of integer;
max,i,n,m:integer;

Begin

Randomize;

For i:=1 to 100 do {odabira 100 slucajnih brojeva i upisuje ih u niz}
begin
niz :=Random (100);
Writeln (Niz); {ispisuje neuredjeni niz}
end;

writeln ('Nasumicno odabiranje brojeva zavrseno.');
readln;
clrscr;

Max:=niz[1]; {proglasava prvi broj niza trenutno najvecim}

For m:=1 to 100 do {ponavlja sve petlje 100 puta, jer toliko br. treba razvrstati}
begin

For i:= 1 to 100 do
If Niz> Max then {trazi trenutno najveci broj u nizu}
max:=Niz; {max uzima vrijednost najveceg broja u nizu}


nizrazvrstanih[m]:=max; {pamti trenutni max u m-tu lokaciju niza razvrstanih}


For n:=1 to 100 do
if niz[n]=max then niz[n]:=0; {proglasava najveci broj niza nulom i omogucava trazenje sledeceg najveceg}
End;


writeln ('Razvrstavanje brojeva zavrseno.');
readln;
clrscr;

for i:=1 to 100 do
writeln ('Razvrstan[',i,']=',nizrazvrstanih); {ispisuje 100 brojeva po rastucem redoslijedu}
readln;
End.

 
Odgovor na temu

neor
Nenad Orlovic

Član broj: 26828
Poruke: 74
*.metrohive.net.



Profil

icon Re: Komplikovana logika11.04.2005. u 15:14 - pre 231 meseci
Trebas i max da vratis na nulu u svakom prolazu.
 
Odgovor na temu

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



+1 Profil

icon Re: Komplikovana logika11.04.2005. u 15:27 - pre 231 meseci
Drugi put kad dajes kod stavi ga izmedju code i /code (pise ti na levoj strani kada pises poruku)


Code:

const
     brojeva = 100;
var
   n:array[1..brojeva] of integer;
   i,j,p:integer;
begin
     for i := 1 to brojeva do
         n[i]:= random(brojeva);
     for i := 1 to brojeva do
         for j :=  brojeva downto i+1 do
             if n[j]>n[j-1] then
                begin
                     p:=n[j];
                     n[j]:=n[j-1];
                     n[j-1]:=p;
                end;
     for i := 1 to brojeva do
         write(n[i]:10);
     readln;
end.
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.238.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: Komplikovana logika11.04.2005. u 15:28 - pre 231 meseci
Za pocetak ispravi ovaj deo:
Code:
For i:=1 to 100 do {odabira 100 slucajnih brojeva i upisuje ih u niz}
begin
niz :=Random (100);
Writeln (Niz); {ispisuje neuredjeni niz}
end;
da izgleda ovako:
Code:
For i:=1 to 100 do {odabira 100 slucajnih brojeva i upisuje ih u niz}
begin
niz[i] :=Random (100);
Writeln (Niz[i]); {ispisuje neuredjeni niz}
end;


Znaci moras da svakom clanu dodas razlicitu vrednost a ne ovako kako si ti radio ( to objasnjava zasto ti je pisao sam broj 99 :D )...

E sad ka imas podatke u nizu pogledaj malo po google-u recimo bubble sort kao mozda najjednostavniji vid sortiranja i to bi ti trebalo biti to... Tvoj program ima da fercera k'o lud ;).

<**********dpouna**********>

ToYo i ja smo postovali u isto vreme... Eto, on ti je pokazao kako to treba, tj ispunio je nis kako treba i koristio je bas bubble sort za sortiranje brojeva u nizu, tako da prouci malo to sto je on napisao :D.
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 871
*.dialup.blic.net.



+148 Profil

icon Re: Komplikovana logika11.04.2005. u 18:23 - pre 231 meseci
Dobro, sad i ja vidim da ima dosta gresaka, ali nije mi jasno zasto kompajler nije prijavio gresku kad sam napiao niz:=random (100), kad varijabla "niz", u stvari i predstavlja niz i pored nje mora da se nadje indeks koji ce oznaciti na koji se clan niza odnosi neka naredba. Zar nije trebao da izbaci poruku tipa
'[' expected, but ':=' found, ili nesto slicno?

 
Odgovor na temu

Toyo

Član broj: 45193
Poruke: 227
*.kovnet.co.yu.



+1 Profil

icon Re: Komplikovana logika11.04.2005. u 18:36 - pre 231 meseci
Napisao si ti i zagrade i u njima i, nego se to u poruci shvata da sledeci tekst pises italikom pa se ono i u zagradama ne vidi.

Zato se programi na forumu stavljaju izmedju code tagova.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Komplikovana logika

[ Pregleda: 2705 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.