Pomoc oko domaceg?

Pomoc oko domaceg?

offline
  • 100%Milanista
  • Information Technology
  • Pridružio: 23 Avg 2008
  • Poruke: 2630
  • Gde živiš: Milan, Italy

Napisano: 31 Maj 2009 14:26

p0z svima... radim program u Turbo pascalu 7 i treba mi pomoc oko prepravljanja sledeceg koda, molim ako neko moze da mi pomogne u najkracem mogucem vremenu i da mi postavi citav kod kako treba ispravljen..... Hvala smešak


Program radi za matrice reda n puta n. Treba da se ispravi kod da radi za matrice M puta N, tj. za bilo koju matricu koju korisnik unese.

program oblasti; {nalazi kruzne putanje skakaca po sahovskoj tabli} type niz1= array [1..8] of byte;      niz=array [1..8] of integer;      matrica= array [1..8] of niz; var   m,n,br,i,j:integer;  x:matrica;  v,k:niz; brres:longint; procedure stampamatrice ( m,N:integer;x:matrica); var i,j : integer; begin   writeln;   for i:= 1 to m do     begin       for j:=1 to n do write (x[i,j]:3);       writeln;     end;   writeln; end; function inmat(i,j:integer):boolean; begin   inmat:=(i>0)and(i<9)and(j>0)and(j<9); end; function brpolja(i,j:integer):integer; var b,c:integer; begin    b:=0;    for c:=1 to 8 do if inmat(i+v[c],j+k[c]) then                                         if x[i+v[c],j+k[c]]=0 then b:=b+1;    brpolja:=b; end; function krug(i,j:integer; x:matrica):boolean; var kr:boolean; l:integer; begin   kr:=false;   for l:=1 to 8 do if (x[i+v[l],j+k[l]]=1) then kr:=true;   krug:=kr; end; procedure skok(i,j,br:integer);  var l,h,w,a:integer; brsl,p:niz1; begin   br:=br+1;x[i,j]:=br;   {stampamatrice(8,8,x);readln;}   if br<64 then              begin              for l:=1 to 8 do                begin                  p[l]:=l;                  if inmat(i+v[l],j+k[l]) then                                         if x[i+v[l],j+k[l]]=0                                            then brsl[l]:=brpolja(i+v[l],j+k[l]);                end;                for h:=1 to 7 do                  for w:=h+1 to 8 do                     if brsl[h]>brsl[w]                       then begin                              a:=p[h];p[h]:=p[w];p[w]:=a;                              a:=brsl[h];brsl[h]:=brsl[w];brsl[w]:=a;                            end;               for l:=1 to 8 do                begin                  if (inmat(i+v[p[l]],j+k[p[l]]))                   then if (x[i+v[p[l]],j+k[p[l]]]=0) then skok(i+v[p[l]],j+k[p[l]],br);                end;                x[i,j]:=0;              end            else                begin                  brres:=brres+1;if (brres mod 20 =0) then writeln(brres);                  if krug(i,j,x) then                    begin                       writeln(brres);                       stampamatrice(8,8,x);readln;                    end;                   x[i,j]:=0;                end; end; begin   writeln('Pocetak');   br:=0;i:=1;j:=1;brres:=0;   v[1]:=-2;v[2]:=-1;v[3]:=1;v[4]:=2;v[5]:=2; v[6]:=1; v[7]:=-1;v[8]:=-2;   k[1]:=1; k[2]:=2; k[3]:=2;k[4]:=1;k[5]:=-1;k[6]:=-2;k[7]:=-2;k[8]:=-1;   skok(i,j,br);   stampamatrice(8,8,x);   readln; end.



Puno bi mi znacilo ako bi mogao neko da mi pomogne i da prepravi kod smešak

Dopuna: 03 Jun 2009 18:00

nema mi pomoci? smešak



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Najmanji problem je napraviti kreiranje i stampanje matrice NxM... pitanje je samo da li bi oni kodovi u funkcijama i procedurama radili kako treba sa takvim matricama. Koliko se meni cini, svi parametri su hard code-ovani (prilicno losa praksa ako nisi 100% siguran da nikad ni zbog cega neces morati da menjas parametre) i jednostavno dinamicko kreiranje matrice zeljene velicine nece resiti problem.

Ako ti nesto znaci, mozemo da ti napisemo kod za dinamicno kreiranje matrice i dostup do njenih clanova pa ti posle popravi taj logicki deo koji si i onako vec napisao sto znaci da ga razumes.



offline
  • 100%Milanista
  • Information Technology
  • Pridružio: 23 Avg 2008
  • Poruke: 2630
  • Gde živiš: Milan, Italy

@Srki_82

oke moze dogovoreno :-)

Ko je trenutno na forumu
 

Ukupno su 839 korisnika na forumu :: 61 registrovanih, 7 sakrivenih i 771 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, _Sale, A.R.Chafee.Jr., ajo baba, AK - 230, Alibaba1981, aramis s, Atomski čoban, Bahuss, bojanM84, Boris90, boriskaca, branko7, brundo65, crnitrn, dankisha, Denaya, dragoljub11987, dule10savic, gasha, ILGromovnik, Insan, Ivica1102, jackreacher011011, Joja2, KonstantinR, Kvazar, lelemud, Marko Marković, Mercury, Metanoja, mgolub, mikrimaus, mile23, MiloradKomadic, misa1xx, Nemanja.M, nemkea71, Niko Bitan, Outis, raptorsi, Ripanjac, robert1979, Rocker, rodoljub, S-lash, Sass Drake, Sirius, Smajser, sovanova95, Srki98, Srky Boy, stegonosa, StepskiVuk, su27, Toni, vlad the impaler, ZetaMan, zlatkoa987, zooix, 187