Linear Algebra and the C Language/a0it
Install and compile this file in your working directory.
/* ------------------------------------ */
/* Save as : c00d.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
double **X_rEp_mR(
double **A,
int n,
double e /* 1E-1 1E-0 1E+1 */
)
{
int r;
int c;
for (r=R1; r<A[R_SIZE][C0]; r++)
for (c=C1; c<A[C_SIZE][C0]; c++)
A[r][c] = rp_E(n,e);
return(A);
}
/* ------------------------------------ */
/* ------------------------------------ */
void fun(int r, int c)
{
double **A = rEp_mR(i_mR(r,c), 999, 1E-0);
double **B = rEp_mR(i_mR(r,c), 999, 1E-1);
double **C = rEp_mR(i_mR(r,c), 999, 1E-2);
double **D = rEp_mR(i_mR(r,c), 999, 1E-3);
clrscrn();
printf("rEp_mR() : Positive decimal numbers\n\n");
printf(" A: xxx rE_mR(A,999,1E-0);");
p_mR(A, S10,P0,C6);
printf(" B: xx.x rE_mR(B,999,0.1E-1);");
p_mR(B, S10,P1,C6);
stop();
clrscrn();
printf(" C: x.xx rE_mR(C,999,1E-2);");
p_mR(C, S10,P2,C6);
printf(" D: x.xxx rE_mR(D,999,1E-3);");
p_mR(D, S10,P3,C6);
f_mR(A);
f_mR(B);
f_mR(C);
f_mR(D);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
fun(rp_I(R4),rp_I(C6));
while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Screen output example:
rEp_mR() : Positive decimal numbers
A: xxx rE_mR(A,999,1E-0);
+118 +786 +265
+351 +681 +225
+938 +555 +656
B: xx.x rE_mR(B,999,0.1E-1);
+71.8 +45.2 +6.0
+31.6 +31.7 +12.1
+63.6 +28.0 +0.3
Press return to continue.
C: x.xx rE_mR(C,999,1E-2);
+8.22 +7.24 +6.91
+3.27 +4.39 +7.92
+3.21 +6.45 +5.50
D: x.xxx rE_mR(D,999,1E-3);
+0.167 +0.053 +0.708
+0.712 +0.170 +0.495
+0.695 +0.520 +0.894
Press return to continue
Press X return to stop