eigsv1te.pas 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. program eigsv1te;
  2. uses
  3. typ,
  4. iom,
  5. eig;
  6. const
  7. m1 = -2;
  8. m2 = 40;
  9. n1 = -3;
  10. n2 = 30;
  11. l1 = -2;
  12. l2 = 30;
  13. rw = n2 - n1 + 1;
  14. var
  15. ex, nex, k, i, j, m, n, p, term, l: ArbInt;
  16. a: array[m1..m2, n1..n2] of ArbFloat;
  17. q: array[l1..l2] of ArbFloat;
  18. begin
  19. Write(' program results eigsv1te');
  20. case sizeof(ArbFloat) of
  21. 4: writeln('(single)');
  22. 6: writeln('(real)');
  23. 8: writeln('(double)');
  24. end;
  25. Read(nex);
  26. writeln;
  27. writeln('number of examples', nex: 2);
  28. writeln;
  29. for ex := 1 to nex do
  30. begin
  31. writeln;
  32. writeln(' example number :', ex: 2);
  33. Read(k, p, l, m, n);
  34. if ex < nex then
  35. iomrem(input, a[k, p], m, n, rw)
  36. else
  37. for i := 1 to m do
  38. for j := 1 to n do
  39. if i > j then
  40. a[k - 1 + i, p - 1 + j] := 0
  41. else
  42. if i = j then
  43. a[k - 1 + i, p - 1 + j] := 1
  44. else
  45. a[k - 1 + i, p - 1 + j] := -1;
  46. eigsv1(a[k, p], m, n, rw, q[l], term);
  47. writeln;
  48. writeln(' A =');
  49. iomwrm(output, a[k, p], m, n, rw, numdig);
  50. writeln;
  51. writeln('term=', term: 2);
  52. if term = 1 then
  53. begin
  54. writeln;
  55. writeln('q=');
  56. iomwrv(output, q[l], n, numdig);
  57. end;
  58. end;
  59. Close(input);
  60. Close(output);
  61. end.
  62. program eigsv1te;
  63. uses
  64. typ,
  65. iom,
  66. eig;
  67. const
  68. m1 = -2;
  69. m2 = 40;
  70. n1 = -3;
  71. n2 = 30;
  72. l1 = -2;
  73. l2 = 30;
  74. rw = n2 - n1 + 1;
  75. var
  76. ex, nex, k, i, j, m, n, p, term, l: ArbInt;
  77. a: array[m1..m2, n1..n2] of ArbFloat;
  78. q: array[l1..l2] of ArbFloat;
  79. begin
  80. Write(' program results eigsv1te');
  81. case sizeof(ArbFloat) of
  82. 4: writeln('(single)');
  83. 6: writeln('(real)');
  84. 8: writeln('(double)');
  85. end;
  86. Read(nex);
  87. writeln;
  88. writeln('number of examples', nex: 2);
  89. writeln;
  90. for ex := 1 to nex do
  91. begin
  92. writeln;
  93. writeln(' example number :', ex: 2);
  94. Read(k, p, l, m, n);
  95. if ex < nex then
  96. iomrem(input, a[k, p], m, n, rw)
  97. else
  98. for i := 1 to m do
  99. for j := 1 to n do
  100. if i > j then
  101. a[k - 1 + i, p - 1 + j] := 0
  102. else
  103. if i = j then
  104. a[k - 1 + i, p - 1 + j] := 1
  105. else
  106. a[k - 1 + i, p - 1 + j] := -1;
  107. eigsv1(a[k, p], m, n, rw, q[l], term);
  108. writeln;
  109. writeln(' A =');
  110. iomwrm(output, a[k, p], m, n, rw, numdig);
  111. writeln;
  112. writeln('term=', term: 2);
  113. if term = 1 then
  114. begin
  115. writeln;
  116. writeln('q=');
  117. iomwrv(output, q[l], n, numdig);
  118. end;
  119. end;
  120. Close(input);
  121. Close(output);
  122. end.