• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Pascal, создание и обработка двоичных файлов

  • Автор темы Автор темы yulia90
  • Дата начала Дата начала

yulia90

Ученик
Регистрация
4 Апр 2011
Сообщения
5
Реакции
0
Баллы
0
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.

Спасибо заранее
 
Назад
Сверху