Aller au contenu

Mathc complexes/09n

Un livre de Wikilivres.


Application

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

c00c.c
/* ------------------------------------ */
/*  Save as :  c00c.c                   */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void p3_mZ(
double **A,
int     Sr,
int     Si
)
{
int r;
int c;

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

            printf("%+*.f%+*.fi ",Sr,A[r][c],Si,A[r][c+C1]);
            
         printf("\n");
        }          
}
/* ------------------------------------ */
void fun(int r,int c)
{
double **A = r_mZ(i_mZ(r,c),999);

  clrscrn();

  printf(" A: p_mZ(A,  S10,P0,  S5,P0,C8);");
  p_mZ(A, S10,P0, S5,P0,C8);

  printf(" A: p3_mZ(A, S10,     S5     );\n");
  p3_mZ(A, S10, S5);

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

  srand(time(&t));
  
   do 
        fun(rp_I(R3)+R2, rp_I(C3)+C1);
        
    while(stop_w());
        
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
On a ajouté deux arguments à la fonction pour contrôler le nombre d'espace laissés pour chaque nombre. Un espace pour la partie réelle et le deuxième espace pour la partie imaginaire.
printf("%+*.f%+*.fi ",Sr,A[r][c],Si,A[r][c+C1]);
printf("%+*.  +*.   ",Sr,    ...,Si,      ...]);
Ce sont les étoiles dans la fonction printf() qui seront remplacé par les valeurs des arguments rentrés dans la fonction lors de l'exécution du programme.

Exemple de sortie écran :

 A: p_mZ(A,  S10,P0,  S5,P0,C8);
      +775 +266i       +185 -524i       -667   -8i 
      +622 +622i       -674 -445i       +187 -557i 
      -510 +807i       +248 +545i       -400 +652i 
      +621 +818i       +319  -26i       -554 -623i 
      -570 -805i       -710 -935i        -93 -219i 

 A: p3_mZ(A, S10,     S5     );
      +775 +266i       +185 -524i       -667   -8i 
      +622 +622i       -674 -445i       +187 -557i 
      -510 +807i       +248 +545i       -400 +652i 
      +621 +818i       +319  -26i       -554 -623i 
      -570 -805i       -710 -935i        -93 -219i 

 Press   return to continue
 Press X return to stop