Pagini recente » Cod sursa (job #1477551) | Cod sursa (job #2567949) | Cod sursa (job #2044231) | Cod sursa (job #1586885) | Cod sursa (job #17448)
Cod sursa(job #17448)
program eliminare;
var x:array[1..100,1..100] of integer;
ln,col:array[1..100] of integer;
f,g:text;
m,n,r,c,i,j,coldel,lndel,z:integer;
total:longint;
procedure citire;
begin
assign(f,'elimin.in'); reset(f);
readln(f,m,n,r,c);
for i:=1 to m do
begin
for j:=1 to n do
read(f,x[i,j]);
readln(f);
end;
close(f);
end;
procedure delln(a:integer);
begin
for i:=a to m-1 do
for j:=1 to n do
x[i,j]:=x[i+1,j];
m:=m-1;
end;
procedure delcol(a:integer);
begin
for j:=a to n-1 do
for i:=1 to m do
x[i,j]:=x[i,j+1];
n:=n-1;
end;
procedure tot;
begin
total:=0;
for i:=1 to m do
for j:=1 to n do
total:=total+x[i,j];
end;
function sumaln(a:integer):longint;
var s:longint;
l:integer;
begin
s:=0;
for l:=1 to n do
s:=s+x[a,l];
sumaln:=total-s;
end;
function sumacol(a:integer):longint;
var s:longint;
q:integer;
begin
s:=0;
for q:=1 to m do
s:=s+x[q,a];
sumacol:=total-s;
end;
procedure coloana;
var max,k:integer;
begin
for k:=1 to n do
col[k]:=sumacol(k);
max:=col[1];
coldel:=1;
for k:=2 to n do
if col[k]>max then
begin
max:=col[k];
coldel:=k;
end;
end;
procedure linia;
var max,k:integer;
begin
for k:=1 to m do
ln[k]:=sumaln(k);
max:=ln[1];
lndel:=1;
for k:=2 to m do
if ln[k]>max then
begin
max:=ln[k];
lndel:=k;
end;
end;
procedure afis;
begin
assign(g,'elimin.out'); rewrite(g);
write(g,total);
close(g);
end;
begin
citire;
tot;
if r<>0 then
for z:=1 to r do
begin
linia;
delln(lndel);
tot;
end;
tot;
if c<>0 then
for z:=1 to c do
begin
coloana;
delcol(coldel);
tot;
end;
tot;
afis;
end.