Application

Installer et compiler ce fichier dans votre répertoire de travail.

c00a.c
/* ------------------------------------ */
/*  Save as :  c00a.c                   */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int rc)
{
double s = r_I(9);

double **A   =    r_mR(    i_mR(rc,rc),9);
double **sA  = smul_mR(s,A,i_mR(rc,rc)  );

   clrscrn();

   printf("      A\n");
   p_mR(A,S3,P0,C6);
   printf(" %.0f * A\n",s);
   p_mR(sA,S3,P0,C6);
   
   printf("\n"
          "      Trace(sA) = %+.0f\n" 
          " %+.0f * Trace( A) = %+.0f\n", trace_R(sA), s, s*trace_R(A));
   
  f_mR(A);
  f_mR(sA);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  
   do 
         fun(rp_I(RC5));
        
    while(stop_w());

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


La fonction trace se contente d'additionner tous les coefficients sur la diagonale.

Exemple de sortie écran :

      A

 +3  -8  -6 
 +7  +9  -9 
 +6  +3  -4 

 -5 * A

-15 +40 +30 
-35 -45 +45 
-30 -15 +20 


      Trace(sA) = -40
 -5 * Trace( A) = -40

 Press   return to continue
 Press X return to stop