program test (INPUT, OUTPUT, F1, F2);
const
n=10; m=10;
type
f = file of integer;
var
a:array[1..n,1..m] of integer;
F1, F2 : f;
max:integer;
j,i,[color=red]jpos[/color]:integer;
Begin
assign(f1,'c:\pas.dat');
assign(f2,'c:\pas2.dat');
reset(f1);
for i:=1 to n do
for j:=1 to m do
begin
read(f1,a[i,j]);
end;
for i:=1 to n do
begin
max:=a[i,i];
[color=red]jpos:=i;[/color]
for j:=1 to m do
begin
if max<a[i,j] then
begin
[color=red]max:=a[i,j];[/color]
[color=red]jpos:=j;[/color]
end;
end;
[color=red]if jpos<>i then[/color]
[color=red]begin[/color]
[color=red]a[i,jpos]:=a[i,i];[/color]
[color=red]a[i,i]:=max;[/color]
[color=red]end;[/color]
end;
rewrite(f2);
for i:=1 to n do
for j:=1 to m do
begin
write(f2,a[i,j]);
end;
for i:=1 to n do
for j:=1 to m do
begin
write(a[i,j]);
end;
close(f1);
close(f2);
end.
помогите с задачей на паскале
С файла Ф1 прочитать матрицу А(10,10).найти самый большой елемент каждой строки и переместить его на главную диагональ,а диагональный елемент на место самого большого.
вот все что смог сделать,но правильно не работает
program test (INPUT, OUTPUT, F1, F2);
const
n=10; m=10;
type
f = file of integer;
var
a:array[1..n,1..m] of integer;
F1, F2 : f;
max:integer;
j,i:integer;
Begin
assign(f1,'c:\pas.dat');
assign(f2,'c:\pas2.dat');
reset(f1);
for i:=1 to n do
for j:=1 to m do
begin
read(f1,a[i,j]);
end;
for i:=1 to n do
begin
max:=a[i,i];
for j:=1 to m do
begin
if max<a[i,j] then
begin
max:=a[i,j];
a[i,j]:=a[i,i];
a[i,i]:=max;
end;
end;
end;
rewrite(f2);
for i:=1 to n do
for j:=1 to m do
begin
write(f2,a[i,j]);
end;
for i:=1 to n do
for j:=1 to m do
begin
write(a[i,j]);
end;
close(f1);
close(f2);
end.
помогите,пожалуйста.я просто в шоке.