Application


c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
void fun(int r,int c)
{
double **A     = r_mR(i_mR(r,c),99.);
double **B     =      i_mR(r,c);

  clrscrn(); 
  printf(" A :\n");
  pall_mR(swapC_withR0_mR(A,C1,C2),S5,P0,C10);   
    
  printf(" B : c_withR0_mR(A,B);\n");
  pall_mR(c_withR0_mR(A,B),S5,P0,C10);

  f_mR(A);
  f_mR(B); 
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

int i;

do
{
  i = rp_I(R3)+R1;
  
  fun(i,i+C1);

} while(stop_w());

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


Si l'index des colonnes de la matrice A à été modifier, et si on copie A dans B, cette fonction permet de conserver la position des indices de A dans B.


Exemple de sortie écran :
 ------------------------------------
 A :
+4          +2    +1    +3    +4 

+5          +7   +98   +55   -13 
+0          +4   -15   -93   +24 
+0         -64   +34   +27   -74 

 B : c_withR0_mR(A,B);
+4          +2    +1    +3    +4 

+5          +7   +98   +55   -13 
+0          +4   -15   -93   +24 
+0         -64   +34   +27   -74 


 Press return to continue
 Press X      to stop