Дубликация строки содержащей максимальный элемент - 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.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы