Pomoc oko domaceg?

Pomoc oko domaceg?

offline
  • 100%Milanista
  • Information Technology
  • Pridružio: 23 Avg 2008
  • Poruke: 2634
  • 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: 2634
  • Gde živiš: Milan, Italy

@Srki_82

oke moze dogovoreno :-)

Ko je trenutno na forumu
 

Ukupno su 1093 korisnika na forumu :: 44 registrovanih, 8 sakrivenih i 1041 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: Apok, atmel, babaroga, BORUTUS, Djokislav, DonRumataEstorski, elenemste, FileFinder, FOX, gomago, Insan, Karla, kihot, Koridor 11, Kubovac, kunktator, ladro, Lubica, Marko Marković, MiG-29M2, milutin134, Mixelotti, Neutral-M, Nikolaa11, nuke92, Panter, panzerwaffe, pein, procesor, RJ, Rogan33, ruma, sasa87, Smiljke, Srki94, Srle993, stalja, Steeeefan, TheBeastOfMG, theNedjeljko, wizzardone, YU-UKI, Zimbabwe, žeks62