Mathc matrices/Fichiers c : p01c


Étude du code


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

p01c.c
/* ------------------------------------ */
/*  Save as :   p01c.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void p3_mR(
double **A,
int n
)
{
int r;
int c;

 	for     (r = R1; r < A[R_SIZE][C0]; r++)
 	   {
 	    for (c = C1; c < A[C_SIZE][C0]; c++)

            printf("%+*.0f ",n,A[r][c]);
            
         printf("\n");
        }          
}
/* ------------------------------------ */
void fun(int r,int c)
{
double **A     = r_mR(i_mR(r,c),999);

  clrscrn();

  printf(" A[R%d,C%d] : \n",rsize_R(A),csize_R(A));
  p_mR(A,P4,P0,C8);

  p3_mR(A,P8);

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

  srand(time(&t));
  
   do 
        fun(rp_I(R4),rp_I(C8));
        
    while(stop_w());
        
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


La fonction p_mR(); existant déjà dans la librairie je l'ai ici renommé p3_mR();


Exemple de sortie écran :

 A[R4,C3] : 

-395 +325 -564 
-601 +884 +252 
-134 +901 +912 
+156 +888 -154 

    -395     +325     -564 
    -601     +884     +252 
    -134     +901     +912 
    +156     +888     -154 

 Press return to continue
 Press X      to stop

Nous pouvons désormais choisir la taille que chaque colonne peu avoir.

Le caractère * sera remplacé par la valeur choisie.

/* Ici si n = 8     (P8) */

 printf("%+*.0f ",n,A[r][c]);

/* est équivalent à      */

printf("%+8.0f ",A[r][c]);