Mathc matrices/Fichiers c : p03a

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche


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

Crystal Clear mimetype source c.png p03a.c
imprimer la ligne colonne zéro
/* ------------------------------------ */
/*  Save as : p03a.c                    */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void p2_mR(
double **A,
int     Cx
)
{
int r;
int c;

int firstc;
int lastc;

int tempc  = C0;

while(tempc<A[C_SIZE][C0])
     {
		 
/*   Select the last column  to draw  */
	
	  firstc = tempc;
	  
      tempc += Cx;       
      
      if(tempc<A[C_SIZE][C0])
      
           lastc  = tempc;
      else                 
           lastc  = A[C_SIZE][C0];

/*          Draw the Cx columns         */

 	  for(r=R0; r<A[R_SIZE][C0]; r++)
         {        
          
 	      for (c=firstc; c<lastc; c++)
 	      
               printf("%+4.0f ",A[r][c]); 
               
           printf("\n");           
          }
          
/* A line between each part of the matrix  */     
     
      printf("\n");
     }
}
/* ------------------------------------ */
void fun(int r,int c)
{
double **A     = r_mR(i_mR(r,c),9);

  clrscrn();

  printf(" A1[R%d,C%d] : \n",rsize_mR(A),csize_mR(A));
  pall_mR(A,4,0,C9);
  
  printf(" A2[R%d,C%d] : \n",rsize_mR(A),csize_mR(A));
  p2_mR(A,C9);

  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é p2_mR();


Ici on n'a simplement remplacé :

int tempc  = C1;

par

int tempc  = C0;

et

for(r=R1; r<A[R_SIZE][C0]; r++)

par

for(r=R0; r<A[R_SIZE][C0]; r++)

Du programme précédent.


Exemple de sortie écran :

A1[R4,C8] : 

  +5   +1   +2   +3   +4   +5   +6   +7   +8 

  +9   +8   +8   -7   -7   -1   +8   +2   +2 
  +0   +4   +4   +8   -3   -1   -1   -7   +6 
  +0   +4   -5   -3   -1   -3   -3   +8   -9 
  +0   +4   +6   +2   -3   -5   -5   +6   -3 

 A2[R4,C8] : 
  +5   +1   +2   +3   +4   +5   +6   +7   +8 
  +9   +8   +8   -7   -7   -1   +8   +2   +2 
  +0   +4   +4   +8   -3   -1   -1   -7   +6 
  +0   +4   -5   -3   -1   -3   -3   +8   -9 
  +0   +4   +6   +2   -3   -5   -5   +6   -3 


 Press return to continue
 Press X      to stop

Dans l'exemple suivant nous allons séparer la première ligne la ligne zéro par un saut de ligne.