Pascal, создание и обработка двоичных файлов
Привет всемм)
Нужно переделать программу чуть чуть,
в квадратной матрице, находящейся в файле, найти максимальные и минимальные элементы диагоналей. в файле первая компонента - размер мтрицы, далее - элементы построчно.
Здесь максимальные и минимальные элементы диагоналей,нужно чтобы
были максимальные элементы каждого сектора
ses crt;
var f:text;
n,i,j:byte;
a:array[1..20,1..20] of integer;
mng,mxg,mnp,mxp:integer;//значение макс мин на главной и побочной диагоналях
imng,imxg:byte;//индексы строк с мин и макс на главной
imnp,imxp:byte;//индексы строк с мин и макс на побочной
begin
clrscr;
assign(f,'file.txt');
reset(f);
read(f,n);//читаем размер
for i:=1 to n do
begin
for j:=1 to n do
begin
read(f,a[i,j]);//читаем матрицу
write(a[i,j]:4);//выводим на экран
end;
writeln;
end;
mng:=a[1,1];imng:=1;//на главной минимальный первый
mxg:=a[1,1];imxg:=1;
mnp:=a[1,n];imnp:=1;//на побочной-правый верхний
mxp:=a[1,n];imxp:=1;
for i:=1 to n do
begin
if (a[i,i])<mng then //минимум на главной
begin
mng:=a[i,i];//минимум на главной
imng:=i;//его строка
end;
if (a[i,i])>mxg then //макс на главной
begin
mxg:=a[i,i];
imxg:=i;
end;
if (a[i,n-i+1])<mnp then//мин на побочной
begin
mnp:=a[i,n-i+1];
imnp:=i;
end;
if (a[i,n-i+1])>mxp then//макс на побочной
begin
mxp:=a[i,n-i+1];
imxp:=i;
end;
end;
writeln('Мин. на главной a[',imng,',',imng,']=',mng);
writeln('Макс. на главной a[',imxg,',',imxg,']=',mxg);
writeln('Мин. на побочной a[',imnp,',',n-imnp+1,']=',mnp);
writeln('Макс. на побочной a[',imxp,',',n-imxp+1,']=',mxp);
readln
end.
Спасибо заранее
Привет всемм)
Нужно переделать программу чуть чуть,
в квадратной матрице, находящейся в файле, найти максимальные и минимальные элементы диагоналей. в файле первая компонента - размер мтрицы, далее - элементы построчно.
Здесь максимальные и минимальные элементы диагоналей,нужно чтобы
были максимальные элементы каждого сектора
ses crt;
var f:text;
n,i,j:byte;
a:array[1..20,1..20] of integer;
mng,mxg,mnp,mxp:integer;//значение макс мин на главной и побочной диагоналях
imng,imxg:byte;//индексы строк с мин и макс на главной
imnp,imxp:byte;//индексы строк с мин и макс на побочной
begin
clrscr;
assign(f,'file.txt');
reset(f);
read(f,n);//читаем размер
for i:=1 to n do
begin
for j:=1 to n do
begin
read(f,a[i,j]);//читаем матрицу
write(a[i,j]:4);//выводим на экран
end;
writeln;
end;
mng:=a[1,1];imng:=1;//на главной минимальный первый
mxg:=a[1,1];imxg:=1;
mnp:=a[1,n];imnp:=1;//на побочной-правый верхний
mxp:=a[1,n];imxp:=1;
for i:=1 to n do
begin
if (a[i,i])<mng then //минимум на главной
begin
mng:=a[i,i];//минимум на главной
imng:=i;//его строка
end;
if (a[i,i])>mxg then //макс на главной
begin
mxg:=a[i,i];
imxg:=i;
end;
if (a[i,n-i+1])<mnp then//мин на побочной
begin
mnp:=a[i,n-i+1];
imnp:=i;
end;
if (a[i,n-i+1])>mxp then//макс на побочной
begin
mxp:=a[i,n-i+1];
imxp:=i;
end;
end;
writeln('Мин. на главной a[',imng,',',imng,']=',mng);
writeln('Макс. на главной a[',imxg,',',imxg,']=',mxg);
writeln('Мин. на побочной a[',imnp,',',n-imnp+1,']=',mnp);
writeln('Макс. на побочной a[',imxp,',',n-imxp+1,']=',mxp);
readln
end.
Спасибо заранее