Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses crt;
- const
- n = 3;
- type mtr=array[1..10,1..10] of integer;
- far = file of mtr;
- procedure Create(var f:far);
- var
- fn1:string;
- begin
- readln(fn1);
- while FileExists(fn1) do begin
- writeln('Такой файл уже существует');
- writeln('Введите название исходного файла повторно: ');
- readln(fn1);
- end;
- assign(f,fn1);
- rewrite(f);close(f);
- writeln('Файл создан');
- end;
- procedure AskingQuestions(var f:far);
- var
- fn1:string;
- begin
- readln(fn1);
- while FileExists(fn1) do begin
- writeln('Такой файл уже существует');
- writeln('Введите название исходного файла повторно: ');
- readln(fn1);
- end;
- assign(f,fn1);
- end;
- procedure InputRec(var f:far);
- var a:mtr;
- i,j,k:integer;
- begin
- reset(f);
- for i:=1 to 3 do
- begin
- for k:=1 to n do
- for j:=1 to n do
- a[k,j]:=2+random(21);
- write(f,a);
- end;
- end;
- procedure ViewFileRec(var f: far);
- var a:mtr;
- i,j:integer;
- begin
- reset(f);
- while not eof(f) do begin
- read(f,a);
- for i:=1 to n do
- begin
- writeln;
- for j:=1 to n do
- begin
- write(a[i,j]:5);
- end;
- end;
- writeln;
- end;
- close(f);
- writeln;
- end;
- function Test(var a:mtr):boolean;
- var
- sum:integer;
- i,j:integer;
- begin
- sum:=0;
- for i:= 1 to n do
- for j:= 1 to n do
- sum:=sum+a[i,n+1-i];
- Test:= ((sum)mod 4 = 0);
- end;
- procedure Alg(var f:far; var g: far);
- var matr:mtr;
- i,j:integer;
- begin
- rewrite(g);
- reset(f);
- while not eof(f) do begin
- read(f,matr);
- if (Test(matr)) then
- write(g,matr);
- end;
- close(f);
- close(g);
- end;
- var f1,f2:far;
- fn1,fn2:string;
- begin
- writeln('Введите имя исходного файла');
- Create(f1);
- writeln('Введите имя результирующего файла');
- AskingQuestions(f2);
- InputRec(f1);
- Alg(f1,f2);
- writeln('Исходный файл: ');
- ViewFileRec(f1);
- writeln('Результирующий файл: ');
- ViewFileRec(f2);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement