Aller au contenu

Mathc matrices/h10f

Un livre de Wikilivres.


Étude du code


Installer et compiler ces fichiers dans votre répertoire de travail.


e01.c
/* ------------------------------------ */
/*  Save as :   e01.c                 */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
void XX_put_freeV_mR(
double **Ab_free
)
{
int r;
int t=1;

 	for (r=R1; r<Ab_free[R_SIZE][C0]; r++)
 	
 	    if(Ab_free[r][r]< ERROR_E)
 	     {
		   printf(" Ab_free : DEBUG 01 ");  
           p_mR(Ab_free,S5,P0,C11); 
           
		   c_s_mR(1.,Ab_free,r,r); 
		   c_s_mR(1.,Ab_free,r,rsize_R(Ab_free)+C1+t);
		   t++; 
		   
		   printf(" Ab_free :  put_freeV_mR(); Pivot[%d,%d]",r,r);  
           p_mR(Ab_free,S5,P0,C11);
           stop();
           clrscrn();
		 }	    
}
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
{
double ab[R4*C7]={
    1,     0,     0,    0,    0,    0,   0,
    0,     2,     0,    0,    0,    0,   0,  
    0,     0,     0,    0,    0,    0,   0, 
    0,     0,     0,    0,    0,    0,   0,  
};


double **Ab = ca_A_mR(ab,i_Abr_Ac_bc_mR(R4,C6,C1));
double **A  = c_Ab_A_mR(Ab,i_mR(R4,C6));
double **b  = c_Ab_b_mR(Ab,i_mR(R4,C1));

double **Ab_free = i_Abr_Ac_bc_mR(csize_A_R(Ab),csize_A_R(Ab),C1+C4);


  clrscrn();
//  printf(" Ab :");
//  p_mR(Ab,S3,P0,C7);
   
  put_zeroR_mR(Ab,Ab_free);  
  
  printf(" Ab_free : ");  
  p_mR(Ab_free,S3,P0,C11); 
  stop();  
   
  clrscrn();  
  XX_put_freeV_mR(Ab_free);
  printf(" Ab_free : put_freeV_mR(Ab_free);");  
  p_mR(Ab_free,S3,P0,C11);  
  stop();
  
  f_mR(Ab);
  f_mR(Ab_free);
  f_mR(b);
  f_mR(A);
  
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */




Exemple de sortie écran :
 ------------------------------------
 Ab_free : 
 +1  +0  +0  +0  +0  +0  +0  +0  +0  +0  +0 
 +0  +2  +0  +0  +0  +0  +0  +0  +0  +0  +0 
 +0  +0  +0  +0  +0  +0  +0  +0  +0  +0  +0 
 +0  +0  +0  +0  +0  +0  +0  +0  +0  +0  +0 
 +0  +0  +0  +0  +0  +0  +0  +0  +0  +0  +0 
 +0  +0  +0  +0  +0  +0  +0  +0  +0  +0  +0 

 Press return to continue. 

 ------------------------------------
 Ab_free : DEBUG 01 
   +1    +0    +0    +0    +0    +0    +0    +0    +0    +0    +0 
   +0    +2    +0    +0    +0    +0    +0    +0    +0    +0    +0 
   +0    +0    +0    +0    +0    +0    +0    +0    +0    +0    +0 
   +0    +0    +0    +0    +0    +0    +0    +0    +0    +0    +0 
   +0    +0    +0    +0    +0    +0    +0    +0    +0    +0    +0 
   +0    +0    +0    +0    +0    +0    +0    +0    +0    +0    +0 

 Ab_free :  put_freeV_mR(); Pivot[3,3]
   +1    +0    +0    +0    +0    +0    +0    +0    +0    +0    +0 
   +0    +2    +0    +0    +0    +0    +0    +0    +0    +0    +0 
   +0    +0    +1    +0    +0    +0    +0    +1    +0    +0    +0 
   +0    +0    +0    +0    +0    +0    +0    +0    +0    +0    +0 
   +0    +0    +0    +0    +0    +0    +0    +0    +0    +0    +0 
   +0    +0    +0    +0    +0    +0    +0    +0    +0    +0    +0 

 Press return to continue.