Linear Algebra and the C Language/a00t
Install this file in your working directory.
/* ------------------------------------ */
/* Save as : vpall.h */
/* ------------------------------------ */
double **pall_mR(
double **A, // R3xC8
int er,
int dr,
int n_cMAX // C9
)
{
int r;
int c;
int c_LAST;
int c_FIRST;
int THE_LAST_c_TO_WRITE = C0;
// C0 < C9
while(THE_LAST_c_TO_WRITE < A[C_SIZE][C0])
{
c_FIRST = THE_LAST_c_TO_WRITE; //C0
THE_LAST_c_TO_WRITE += n_cMAX; //C0+C9=C9
// C9 < C9
if(THE_LAST_c_TO_WRITE < A[C_SIZE][C0])
c_LAST = THE_LAST_c_TO_WRITE;
else // C9
c_LAST = A[C_SIZE][C0]; //C9
// R0<R4
for(r=R0; r<A[R_SIZE][C0]; r++)
{
// C0<C9
for (c=c_FIRST; c<c_LAST; c++)
// Rr Rc
if(!c)
printf("%-+*.*f ",er+C3,P0,A[r][c]);
else if(!r)
printf("%+*.*f " ,er, P0,A[r][c]);
else
printf("%+*.*f ", er, dr,A[r][c]);
if(!r)
printf("\n\n");
else
printf("\n");
}
printf("\n");
}
return(A);
}
/* ------------------------------------ */
Each matrix has a zero row and a zero column.
These row and column are reserved for recording their size and for creating an index of the columns.
This function displays row and column zero.