Aller au contenu

Mathc complexes/09o

Un livre de Wikilivres.


Application

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

c00d.c
/* ------------------------------------ */
/*  Save as :   c00d.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void p4_mZ(
double **A,
int Sr,
int Pr,
int Si,
int Pi
)
{
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,Pr,A[r][c], Si,Pi,A[r][c+C1]);
            
         printf("\n");
        }          
}
/* ------------------------------------ */
void fun(int r,int c)
{
double **A     = r_mZ(i_mZ(r,c),9);

  clrscrn();

  printf(" A: p_mZ(A, S10,P2,  S6,P2,C8);");
  p_mZ(A,  S10,P2,  S6,P2, C8);

  printf(" A: p4_mZ(A, S10,P2, S6,P2   );\n");
  p4_mZ(A, S10,P2, S6,P2);

  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é les arguments à la fonction pour contrôler le nombre de chiffres après le point, et le nombre d'espace laissés pour chaque nombres. 
printf("%+*.*f%+*.*fi ",Sr,Pr,A[r][c], Si,Pi,A[r][c+C1]);
printf("%+*.*  +*.*   ",Sr,Pr,    ..., Si,Pi,       ...);
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,P2,  S6,P2,C8);
     +6.00 -5.00i      +2.00 -5.00i      -9.00 -5.00i 
     -5.00 -7.00i      +9.00 +4.00i      -5.00 -5.00i 
     -8.00 +1.00i      -2.00 -9.00i      -4.00 +5.00i 
     +8.00 +3.00i      -3.00 -7.00i      -5.00 -4.00i 

 A: p4_mZ(A, S10,P2, S6,P2   );
     +6.00 -5.00i      +2.00 -5.00i      -9.00 -5.00i 
     -5.00 -7.00i      +9.00 +4.00i      -5.00 -5.00i 
     -8.00 +1.00i      -2.00 -9.00i      -4.00 +5.00i 
     +8.00 +3.00i      -3.00 -7.00i      -5.00 -4.00i 

 Press   return to continue
 Press X return to stop