sucet po obvode

Programovacie jazyky, rady, poradňa...
zabka090
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 17
Registrovaný: 31 aug 2008, 16:09

sucet po obvode

Príspevok od používateľa zabka090 »

mam maticu X,Y a mam ju scitat mimo obvodu, no rata mi to zle

Kód: Vybrať všetko

procedure sucet_mimo_obvodu(mat: matica; x,y: integer; var mim: integer);
var i,j: integer;
    celk, sriad, sstl, obv: integer;
begin
celk:= 0;
sriad:= 0;
sstl:= 0;
obv:= 0;
mim:= 0;
for i:= 1 to x do
    sriad:= sriad + mat[1,i] + mat[x,i];
for i:= 2 to x-1 do
    sstl:= sstl + mat[i,1] + mat[i,x];
obv:= obv + sriad + sstl;
for i:= 1 to x do
    for j:= 1 to y do
    celk:= celk + mat[i,j];
mim:= mim + celk - obv;
end;
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Podľa mňa to zbytočne komplikuješ, skús nejak takto:

Kód: Vybrať všetko

procedure sucet_mimo_obvodu(mat: matica; x,y: integer; var mim: integer);
var i,j: integer;
begin
mim:= 0;
for i:= 2 to y-1 do
    for j:=2 to x-1 do
       mim:= mim + mat[i,j];
end;
zabka090
Amateur
Amateur
Používateľov profilový obrázok
Príspevky: 17
Registrovaný: 31 aug 2008, 16:09

Príspevok od používateľa zabka090 »

dakujem a mohol by si mi opravit aj toto, to ma zas sucet po obvode

Kód: Vybrať všetko

procedure sucet_obvodu (mat:matica; m,n:integer; var obv: integer);
var  i:integer;

begin
obv:=0;
for i:=1 to M-1 do
 obv:=obv + mat[1,i] + mat [M,i];
for i:= 2 to N-1 do
 obv:=obv + mat[i,1] +mat[i,N];
 end;
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

Nejak takto by som povedal

Kód: Vybrať všetko

procedure sucet_obvodu (mat:matica; m,n:integer; var obv: integer);
var  i:integer;

begin
obv:=0;
for i:=1 to M do
 obv:=obv + mat[1,i] + mat [N,i];
for i:= 2 to N-1 do
 obv:=obv + mat[i,1] +mat[i,M];
 end;
Napísať odpoveď