Advertisement
575

Untitled

575
Dec 14th, 2017
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. unit eternity;
  2. interface
  3. type mas = array [1..15, 1..15] of real;
  4. procedure input(n, m : integer; var h : mas);
  5. procedure vivod(n, m : integer; var h : mas);
  6. function sum_after_first_neg_num(n, m : integer; h : mas) : real;
  7. function avg_pos_num(c, n : integer; h : mas) : real;
  8.  
  9.  
  10.  
  11. implementation
  12. procedure input(n, m : integer; var h : mas);
  13. var i, j : integer;
  14. begin
  15. for i := 1 to n do
  16. for j := 1 to m do
  17. readln(h[i,j]);
  18. end;
  19.  
  20. procedure vivod(n, m : integer; var h : mas);
  21. var i, j : integer;
  22. begin
  23. for i := 1 to n do begin
  24. for j := 1 to m do
  25. write(h[i,j] : 5 : 2,' ');
  26. writeln;
  27. end;
  28. end;
  29.  
  30. function sum_after_first_neg_num(n, m : integer; h : mas) : real;
  31. var i, j : integer;
  32. sum : real;
  33. is_found : boolean;
  34. begin
  35. is_found := false;
  36. sum := 0;
  37. for i := 1 to n do begin
  38. for j := 1 to m do begin
  39. if is_found then sum := sum + h[i, j]
  40. else if h[i, j] < 0 then is_found := true;
  41. end;
  42. end;
  43. sum_after_first_neg_num := sum;
  44. end;
  45.  
  46. function avg_pos_num(c, n : integer; h : mas) : real;
  47. var i, q : integer;
  48. res : real;
  49. done : boolean;
  50. begin
  51. done := false;
  52. q := 0;
  53. res := 0;
  54. for i := 1 to n do begin
  55. if h[i, c] > 0 then begin
  56. res := res + h[i, c];
  57. q := q + 1;
  58. done := true;
  59. end;
  60. end;
  61. if done then avg_pos_num := res / q else avg_pos_num := 0;
  62. end;
  63.  
  64. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement