Advertisement
Asirin85

ControlVectorNoWrok

Dec 18th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.27 KB | None | 0 0
  1.  
  2. uses crt;
  3. const
  4.  n = 3;
  5. type mtr=array[1..10,1..10] of integer;
  6. type mss=array[1..10] of integer;
  7.          
  8.          
  9. far = file of mtr;
  10. mar = file of mss;
  11.  
  12. procedure Create(var f:far);
  13. var
  14. fn1:string;
  15. begin
  16. readln(fn1);
  17. while FileExists(fn1) do begin
  18.  writeln('Такой файл уже существует');
  19.  writeln('Введите название исходного файла повторно: ');
  20.  readln(fn1);
  21.  end;
  22.  assign(f,fn1);
  23.  rewrite(f);close(f);
  24.  writeln('Файл создан');
  25. end;
  26.  
  27. procedure AskingQuestions(var g:mar);
  28. var
  29. fn1:string;
  30. begin
  31. readln(fn1);
  32. while FileExists(fn1) do begin
  33.  writeln('Такой файл уже существует');
  34.  writeln('Введите название исходного файла повторно: ');
  35.  readln(fn1);
  36.  end;
  37.  assign(g,fn1);
  38. end;
  39.  
  40. procedure InputRec(var f:far);
  41. var a:mtr;
  42. i,j,k:integer;
  43. begin
  44. randomize;
  45. reset(f);
  46. for i:=1 to 3 do
  47.  begin
  48.   for k:=1 to n do
  49.   for j:=1 to n do
  50.   a[k,j]:=-10+random(15);
  51.   write(f,a);
  52.  end;
  53.  end;
  54.  
  55.  
  56. procedure ViewFileRec(var f: far);
  57. var a:mtr;
  58. i,j:integer;
  59. begin
  60.  reset(f);
  61.  while not eof(f) do begin
  62.   read(f,a);
  63.   for i:=1 to n do
  64.    begin
  65.     writeln;
  66.     for j:=1 to n do
  67.      begin
  68.       write(a[i,j]:5);
  69.      end;
  70.    end;
  71.   writeln;  
  72.  end;
  73. close(f);
  74. writeln;
  75. end;
  76.  
  77. procedure ViewFile(var f: mar);
  78. var b:mss;
  79. i,j:integer;
  80. begin
  81.  reset(f);
  82.  while not eof(f) do begin
  83.   read(f,b);
  84.   for i:=1 to n do
  85.    begin
  86.       write(b[i]:5);
  87.    end;
  88.   writeln;  
  89.  end;
  90. close(f);
  91. writeln;
  92. end;
  93.  
  94.  
  95.  
  96. procedure Alg(var f:far; var g: mar);
  97. var a:mtr;
  98. var b:mss;
  99. i,j,sum:integer;
  100. begin
  101. sum:=0;
  102. rewrite(g);
  103. reset(f);
  104. while not eof(f) do begin
  105. read(f,a);
  106. for i:= 1 to n do begin
  107.  sum:=0;
  108.  for j:= 1 to n do
  109.   if (a[i,j]<0) then
  110.    sum:=sum+a[i,j];
  111.   b[i]:=sum;
  112. end;
  113. write(g,b);
  114. end;
  115. close(f);
  116. close(g);
  117. end;
  118.  
  119. var f1:far;var f2:mar;  
  120. fn1,fn2:string;
  121. begin
  122.  writeln('Введите имя исходного файла');
  123.  Create(f1);
  124.  writeln('Введите имя результирующего файла');
  125.  AskingQuestions(f2);
  126.  InputRec(f1);
  127.  Alg(f1,f2);
  128.  writeln('Исходный файл: ');
  129.  ViewFileRec(f1);
  130.  writeln('Результирующий файл: ');
  131.  ViewFile(f2);
  132. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement