Дубликация строки содержащей максимальный элемент - Pascal
Формулировка задачи:
Товарищи программисты! Срочно нуждаюсь в вашей помощи! Спасайте, пожалуйста!
Дана матрица размера M x N.
Продублировать строку матрицы, содержащую ее максимальный элемент. Как сделать чтоб матрицу читал из input.txt, и записало результат в output.txt?
program Matrix70;
var
j,i,JJ,M,N,II:integer;
a: array [1..11,1..10] of real;
begin
writeln('Введите числа M (M<=10) и N (N<=10)');
read(M); readln(N);
writeln('Введите по ',N,' элементов ');
for i:=1 to M do begin
write(i,' строки : ');
for j:=1 to N do read(a[i,j]);
end;
JJ:=1;
II:=1;
for i:=1 to M do begin
for j:=1 to N do begin
if a[i,j]>a[II,JJ]then begin JJ:=j; II:=i; end;
end; end;
for i:=M+1 downto II+1 do begin
for j:=1 to N do begin
a[i,j]:=a[i-1,j];
end; end;
inc(M);
writeln;
writeln('Ответ');
for i:=1 to M do begin
writeln;
for j:=1 to N do write(a[i,j],' ');
end;
end.Решение задачи: «Дубликация строки содержащей максимальный элемент»
textual
Листинг программы
program Matrix70;
var f:text;
j,i,JJ,M,N,II:integer;
a: array [1..11,1..10] of real;
begin
assign(f,'input.txt');
reset(f);
read(f,M,N);
for i:=1 to M do
for j:=1 to N do
read(f,a[i,j]);
close(f);
JJ:=1;
II:=1;
for i:=1 to M do
begin
for j:=1 to N do
begin
if a[i,j]>a[II,JJ]then
begin
JJ:=j;
II:=i;
end;
end;
end;
for i:=M+1 downto II+1 do
begin
for j:=1 to N do
begin
a[i,j]:=a[i-1,j];
end;
end;
inc(M);
assign(f,'output.txt');
rewrite(f);
for i:=1 to M do
begin
for j:=1 to N do
write(f,a[i,j],' ');
writeln(f);
end;
close(f);
writeln('Матрица прочитана, результат записан в файл output.txt')
end.