uses crt;
type matr=array[1..20,1..20] of integer;
procedure Print(var a:matr;m,n,k1,k2:byte);
var i,j:byte;
begin
for i:=1 to m do
begin
for j:=1 to n do
begin
if(i=k1)or(j=k2) then textcolor(12)
else textcolor(15);
if (i=k1)and(j=k2)then textcolor(13);
write(a[i,j]:4);
end;
writeln;
end;
textcolor(15);
end;
var f:text;
a:matr;
n,m,i,j,imn,jmn:byte;
nf:string;
begin
clrscr;
write('Имя файла для чтения: ');
readln(nf);
clrscr;
nf:=nf+'.txt';
assign(f,nf);
{$I-} reset(f); {$I+}
if IOResult <> 0 then
begin
writeLn('Файл ',nf,' не найден!');
writeLn('Работа программы завершена. Нажмите ENTER');
readln;
exit;
end;
read(f,m,n);
for i:=1 to m do
for j:=1 to n do
read(f,a[i,j]);
imn:=1;
jmn:=1;
for i:=1 to m do
for j:=1 to n do
if a[i,j]<a[imn,jmn] then
begin
imn:=i;
jmn:=j;
end;
writeln('Исходная матрица');
Print(a,m,n,imn,jmn);
writeln('Минимальный элемент a[',imn,',',jmn,']=',a[imn,jmn]);
delay(2000);
gotoXY(1,1);
textcolor(10);
writeln('Обнуление строки');
for i:=1 to n do
begin
gotoXY((i-1)*4+1,imn+1);
write(' 0');
delay(1000);
end;
delay(2000);
gotoXY(1,1);
writeln('Обнуление столбца');
for i:=1 to m do
begin
gotoXY((jmn-1)*4+1,i+1);
write(' 0');
delay(1000);
end;
readln;
textcolor(15);
end.
Следующий вариант
uses crt;
type matr=array[1..20,1..20] of integer;
procedure Print(var a:matr;m,n,k1,k2:byte);
var i,j:byte;
begin
for i:=1 to m do
begin
for j:=1 to n do
begin
if(i=k1)or(j=k2) then textcolor(9)
else textcolor(0);
if (i=k1)and(j=k2)then textcolor(2);
write(a[i,j]:4);
end;
writeln;
end;
textcolor(0);
end;
var f:text;
a:matr;
n,m,i,j,imn,jmn:byte;
nf:string;
begin
clrscr;
write('Имя файла для чтения: ');
readln(nf);
clrscr;
nf:=nf+'.txt';
assign(f,nf);
if not fileexists(nf) then
begin
writeLn('Файл ',nf,' не найден!');
writeLn('Работа программы завершена. Нажмите ENTER');
readln;
exit;
end
else 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);
imn:=1;
jmn:=1;
for i:=1 to m do
for j:=1 to n do
if a[i,j]<a[imn,jmn] then
begin
imn:=i;
jmn:=j;
end;
writeln('Исходная матрица');
Print(a,m,n,imn,jmn);
writeln('Минимальный элемент a[',imn,',',jmn,']=',a[imn,jmn]);
for i:=1 to 10 do
begin
gotoXY((jmn-1)*4+1,imn+1);
textcolor(15);
write(a[imn,jmn]:4);
delay(100);
gotoXY((jmn-1)*4+1,imn+1);
textcolor(2);
write(a[imn,jmn]:4);
delay(100);
end;
gotoXY(1,1);
textcolor(4);
writeln('Обнуление строки');
for i:=1 to n do
begin
gotoXY((i-1)*4+1,imn+1);
write(' 0');
delay(1000);
end;
delay(2000);
gotoXY(1,1);
writeln('Обнуление столбца');
for i:=1 to m do
begin
gotoXY((jmn-1)*4+1,i+1);
write(' 0');
delay(1000);
end;
readln;
textcolor(15);
end.
Файл
5 7
10 11 12 13 14 14 29
9 8 11 25 16 21 30
18 5 10 33 20 12 9
20 12 15 20 25 8 45
31 14 26 65 23 29 40