Помогите с матрицей
Дана матрица Q размером m,n. Если наибольший элемент матрицы расположен в четной строке и нечетном столбце, то создать процедуру преобразования исходной матрицы путем деления всех ее элементов на этот наибольший элемент.
Заранее спасибо.
Код:
program xlx;
type
Tcord = record
i : integer;
j : integer;
end;
Tarr = array[1..1000,1..1000] of double;
var
a : Tarr;
max : double;
i,j,n,m : integer;
comax : Tcord;
procedure editarr(Var a : Tarr;n,m : integer;max : double);
var
i,j : integer;
begin
for i := 1 to n do
for j := 1 to m do
begin
a[i,j] := a[i,j]/max;
end;
end;
begin
writeln('input n');
readln(n);
writeln('input m');
readln(m);
comax.i := 1;
comax.j := 1;
for i := 1 to n do
for j := 1 to m do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
if a[comax.i,comax.j]<a[i,j]
then
begin
comax.i := i;
comax.j := j;
end;
end;
max := a[comax.i,comax.j];
if ((comax.i mod 2) = 0) and ((comax.j mod 2) <> 0) then editarr(a,n,m,max);
for i := 1 to n do
for j := 1 to m do
writeln('a[',i,',',j,']=',a[i,j]:8:3);
readln;
readln;
end.
type
Tcord = record
i : integer;
j : integer;
end;
Tarr = array[1..1000,1..1000] of double;
var
a : Tarr;
max : double;
i,j,n,m : integer;
comax : Tcord;
procedure editarr(Var a : Tarr;n,m : integer;max : double);
var
i,j : integer;
begin
for i := 1 to n do
for j := 1 to m do
begin
a[i,j] := a[i,j]/max;
end;
end;
begin
writeln('input n');
readln(n);
writeln('input m');
readln(m);
comax.i := 1;
comax.j := 1;
for i := 1 to n do
for j := 1 to m do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
if a[comax.i,comax.j]<a[i,j]
then
begin
comax.i := i;
comax.j := j;
end;
end;
max := a[comax.i,comax.j];
if ((comax.i mod 2) = 0) and ((comax.j mod 2) <> 0) then editarr(a,n,m,max);
for i := 1 to n do
for j := 1 to m do
writeln('a[',i,',',j,']=',a[i,j]:8:3);
readln;
readln;
end.
Цитата: FIRON
Код:
program xlx;
type
Tcord = record
i : integer;
j : integer;
end;
Tarr = array[1..1000,1..1000] of double;
var
a : Tarr;
max : double;
i,j,n,m : integer;
comax : Tcord;
procedure editarr(Var a : Tarr;n,m : integer;max : double);
var
i,j : integer;
begin
for i := 1 to n do
for j := 1 to m do
begin
a[i,j] := a[i,j]/max;
end;
end;
begin
writeln('input n');
readln(n);
writeln('input m');
readln(m);
comax.i := 1;
comax.j := 1;
for i := 1 to n do
for j := 1 to m do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
if a[comax.i,comax.j]<a[i,j]
then
begin
comax.i := i;
comax.j := j;
end;
end;
max := a[comax.i,comax.j];
if ((comax.i mod 2) = 0) and ((comax.j mod 2) <> 0) then editarr(a,n,m,max);
for i := 1 to n do
for j := 1 to m do
writeln('a[',i,',',j,']=',a[i,j]:8:3);
readln;
readln;
end.
type
Tcord = record
i : integer;
j : integer;
end;
Tarr = array[1..1000,1..1000] of double;
var
a : Tarr;
max : double;
i,j,n,m : integer;
comax : Tcord;
procedure editarr(Var a : Tarr;n,m : integer;max : double);
var
i,j : integer;
begin
for i := 1 to n do
for j := 1 to m do
begin
a[i,j] := a[i,j]/max;
end;
end;
begin
writeln('input n');
readln(n);
writeln('input m');
readln(m);
comax.i := 1;
comax.j := 1;
for i := 1 to n do
for j := 1 to m do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
if a[comax.i,comax.j]<a[i,j]
then
begin
comax.i := i;
comax.j := j;
end;
end;
max := a[comax.i,comax.j];
if ((comax.i mod 2) = 0) and ((comax.j mod 2) <> 0) then editarr(a,n,m,max);
for i := 1 to n do
for j := 1 to m do
writeln('a[',i,',',j,']=',a[i,j]:8:3);
readln;
readln;
end.
Спасибо за код, но при конпиляции Паскаль начинает ругатся(((сразу же на массив, точнее на - "double".