Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program vvod;
- {$APPTYPE CONSOLE}
- Uses SysUtils,windows; //обязательно для работы с исключениями!
- const
- nmax=10;
- mmax=10;
- type matrix = array[1..nmax,1..mmax] of integer;
- var
- a:matrix;
- n, m, i, j,ii: byte;
- dat, res: textFile;
- y1:boolean;
- procedure prov(const a:matrix; out ii:byte; const n,m:byte; var y1:boolean);
- var i,j: byte; y2: boolean;
- begin
- y1:=true;
- i:=m;
- while y1 and (i>=1) do
- begin
- j:=1;
- y2:=False;
- while not y2 and (j<=n) do
- begin
- if (a[i,j] mod 2=0) then // если четный
- y2:=True;
- inc(j);
- end;
- if not y2 then
- begin
- y1:=False;
- ii:=i;
- end;
- dec(i);
- end;
- end;
- begin
- setConsoleCP(1251);
- setConsoleOutputCP(1251);
- 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, m); {ввод n, m}
- {ввод по строчно элементов матрицы}
- for i:=1 to n do
- begin
- for j:=1 to m do read(dat, a[i,j]); {ввод из одной строки}
- readln(dat); {переход на след.строку в файле}
- end;
- writeln(res,' Исходная матрица из ',n:2,' строк и ',m:2,' столбцов'); {вывод n,m по обр2}
- {вывод по строкам элементов матрицы}
- for i:=1 to n do
- begin
- for j:=1 to m do write(res, a[i,j]:5,' ');
- writeln(res); {переход на след.строку в файле}
- end;
- prov(a,ii,n,m,y1);
- if y1=True then writeln(res, ' Условие выполняется для всех строк ')
- else
- begin
- writeln(res, 'Условие выполняется НЕ для всех строк ');
- writeln(res, 'Последняя такая строка имеет номер ', ii:2);
- end;
- CloseFile(dat); CloseFile(res);
- 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