123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- program detgtrte;
- uses
- typ,
- iom,
- det;
- const
- c1 = -10;
- c2 = 10;
- var
- k, p, n, term, vb, nvb: ArbInt;
- l, d, u: array[c1..c2] of ArbFloat;
- f: ArbFloat;
- begin
- iom.npos := 1000; {max. width of output to 1000, since this is piped}
- Write(' program results detgtrte');
- case sizeof(ArbFloat) of
- 4: writeln('(single)');
- 6: writeln('(real)');
- 8: writeln('(double)');
- 10: writeln('(Extended)');
- end;
- Read(nvb);
- writeln;
- writeln(' number of examples:', nvb: 4);
- for vb := 1 to nvb do
- begin
- writeln;
- writeln('example nr', vb: 2);
- Read(p, n);
- writeln;
- writeln(' n=', n: 2);
- iomrev(input, l[p + 1], n - 1);
- iomrev(input, d[p], n);
- iomrev(input, u[p], n - 1);
- detgtr(n, l[p + 1], d[p], u[p], f, k, term);
- writeln;
- writeln('lower diagonal of A =');
- iomwrv(output, l[p + 1], n - 1, numdig);
- writeln;
- writeln('diagonal of A =');
- iomwrv(output, d[p], n, numdig);
- writeln;
- writeln('upper diagonal of A =');
- iomwrv(output, u[p], n - 1, numdig);
- writeln;
- writeln('term=', term: 2);
- writeln;
- if term = 3 then
- writeln(' wrong input')
- else
- begin
- Write(' determinant of A =', f: numdig);
- if k <> 0 then
- Write(' * 8**', k: 3);
- writeln;
- end; {term=1}
- writeln('----------------------------------------------------');
- end; {vb}
- Close(input);
- Close(output);
- end.
|