Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program vvod;
- {$APPTYPE CONSOLE}
- uses
- SysUtils;
- //обязательно для работы с исключениями!
- const
- nmax=10;
- mmax=10;
- type matr =array[1..nmax,1..mmax] of integer;
- var
- a:matr;
- n, i, j: byte;
- ca,b,u:integer;
- dat, res: textFile;
- m:real;
- procedure kal(const a:matr; const n: integer; out ca,b:integer; var c:textfile);
- var i,j:byte;
- begin
- ca:=0;
- b:=0;
- for i:=1 to n do
- begin
- for j:=1 to n do
- if (a[i,j]>a[j,j]) then
- begin
- ca:=ca+a[i,j];
- b:=b+1;
- end;
- end;
- end;
- procedure puk( const a:matr; out u:integer);
- var i,j:byte;
- begin
- begin
- u:=0;
- for i:=1 to n do
- begin
- for j:=1 to n do
- u:=u+a[j,j];
- end;
- end;
- end;
- begin
- assignFile(dat, paramstr(1)); assignFile(res, paramstr(2));
- try // попытаться открыть {1}
- reset(dat);
- try // не забыть закрыть в любом случае, раз открыли {2}
- try // попытаться открыть/создать {3}
- rewrite(res);
- try // не забыть закрыть в любом случае, раз открыли {4}
- try // ошибки при вводе/выводе в файл {5}
- writeln(res,' ':20,'Обработка матрицы'); { вывод по обр1}
- readln(dat, n); {ввод n, m}
- {ввод по строчно элементов матрицы}
- for i:=1 to n do
- begin
- for j:=1 to n do read(dat, a[i,j]); {ввод из одной строки}
- readln(dat); {переход на след.строку в файле}
- end;
- writeln(res,' Исходная матрица из ',n:2,' строк и ',n:2,' столбцов'); {вывод n,m по обр2}
- {вывод по строкам элементов матрицы}
- for i:=1 to n do
- begin
- for j:=1 to n do write(res, a[i,j]:5 ,' '); {вывод в одну строку: элемент с указанием
- формата и разделитель (пробел)}
- writeln(res); {переход на след.строку в файле}
- kal (a,n,ca,b,dat);
- puk(a,u);
- m:=ca/b;
- writeln (res,'Среднее арифметическое',m:3:2);
- writeln(res, 'Сумма ээо-тов главной диагонали',u);
- end;
- write('Ok. File ',paramstr(2),' is ready.');
- Except writeln('Ошибка при считывании или записи в файл') End; {5}
- Finally closeFile(res) End; {4}
- Except writeln('Ошибка при создании выходного файла ', paramstr(2)) End; {3}
- Finally closeFile(dat) End; {2}
- Except writeln('Ошибка при открытии файла с исходными данными ', paramstr(1)) End; {1}
- write('Press ENTER'); readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement