Advertisement
LilAsian

lab12 Unit

Dec 29th, 2019
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 2.39 KB | None | 0 0
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. const
  6. Nmax = 5;
  7. Mmax = 5;
  8. type
  9. matr = array[1..Nmax, 1..Mmax] of integer;
  10. str = array[1..Mmax] of integer;
  11.  
  12. procedure input(var f:TextFile; const n, m: byte; var A:matr; var X:str);
  13. procedure output(var g: TextFile; const n, m: byte; const X: str; var A: matr);
  14. procedure provA(const n, m: byte; const A: matr; var flagA: boolean; var ii, jj: byte);
  15. procedure provX(const m: byte; const X: str; var flagX: boolean; var ii: byte);
  16. procedure proverka(const n, m: byte; const A: matr; var flag: boolean);
  17. procedure sum(const n, m: byte; var A: matr; var X: str);
  18. implementation
  19.  procedure input(var f: TextFile; const n, m: byte; var A: matr; var X: str);
  20. var
  21. i, j: integer;
  22. begin
  23.   for i := 1 to n do
  24.    begin
  25.     for j := 1 to m do
  26.     read(f,A[i, j]);
  27.     readln(f);
  28.     end;
  29.    readln(f);
  30.    for j := 1 to m do
  31.   read(f,X[j]);
  32.   end;
  33.   procedure output(var g: TextFile; const n, m: byte; const X: str; var A: matr);
  34.   var
  35. i, j: integer;
  36. begin
  37.  for i := 1 to n do
  38.    begin
  39.    for j := 1 to m do
  40.    write(g,A[i, j]:5);
  41.    writeln(g,' ');
  42.     end;
  43.    writeln(g,'Заданные элементы X');
  44.    for j := 1 to m do
  45.   write(g, X[j]);
  46. end;
  47. procedure provA(const n, m: byte; const A: matr; var flagA: boolean; var ii, jj: byte);
  48.  
  49. var
  50.  
  51. i, j: byte;
  52.  
  53. begin
  54. flagA := False;
  55. i := 1;
  56. while (i <=n) and not flagA do
  57.     begin
  58.       j := 1;
  59.      while (j <= m) and not flagA do
  60.       begin
  61.       if (abs(A[i, j]) > 10) then
  62.      begin
  63.       ii := i; jj := j; flagA := True;
  64.     end;
  65.     inc(j);
  66.     end;
  67.    inc(i);
  68.    end;
  69. end;
  70. procedure provX(const m: byte; const X:str; var flagX: boolean; var ii: byte);
  71. var
  72. i: byte;
  73. begin
  74.   flagX := False;
  75.   i := 1;
  76.    while (i <=m) and not flagX do
  77.    begin
  78.    if (abs(X[i]) > 10) then
  79.    begin
  80.     ii := i; flagX := True;
  81.    end;
  82.   inc(i);
  83.   end;
  84. end;
  85.  procedure proverka(const n, m: byte; const A: matr; var flag: boolean);
  86. var
  87. i, j: byte;
  88. s1, s2: integer;
  89. begin
  90. flag := false;
  91.  s1 := 0; s2 := 0;
  92.  for i := 1 to 2 do
  93.    begin
  94.    for j := 1 to m do
  95.     s1 := s1 + A[i, j];
  96.    end;
  97.    for i := n downto n - 1 do
  98.    begin
  99.     for j := 1 to m do
  100.    s2 := s2 + A[i, j];
  101.    end;
  102.    if s1 < s2 then flag := true;
  103.  end;
  104.  procedure sum(const n, m: byte; var A: matr; var X: str);
  105. var
  106. i, j: byte;
  107. begin
  108.  for i := 1 to n do
  109.   for j := 1 to m do
  110.   A[i, j] := A[i, j] + X[j];
  111. end;
  112. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement