Aller au contenu

Mathc complexes/09m

Un livre de Wikilivres.


Application

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

c00b.c
/* ------------------------------------ */
/*  Save as :   c00b.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void p2_mZ(
double **A,
int Pr,
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 ",Pr,A[r][c], 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, S4,P2, S4,P2, C8);");
  p_mZ(A, S4,P2, S4,P2, C8);

  printf(" A: p2_mZ(A,   P2,    P2    );\n");
  p2_mZ(A,   P2,   P2);

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

  srand(time(&t));
  
   do 
        fun(rp_I(R3)+R2, rp_I(C4)+C1);
        
    while(stop_w());
        
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
On a ajouté deux arguments à la fonction pour contrôler le nombre de chiffres après le Point. Un pour la partie réelle et le deuxième pour la partie imaginaire.

printf("%+.*f%+.*fi ",Pr, A[r][c], Pi, A[r][c+C1]);
printf("%+.*  +.*   ",Pr,     ..., 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, S4,P2, S4,P2, C8);
-2.00-7.00i -5.00-9.00i -4.00-5.00i +6.00+4.00i 
+8.00-1.00i -8.00-8.00i -3.00-5.00i +2.00+3.00i 
-4.00+8.00i -3.00+4.00i -3.00-9.00i +2.00-4.00i 
+1.00+1.00i +2.00-8.00i -3.00+8.00i +5.00-2.00i 
+7.00-3.00i -9.00-4.00i -1.00-7.00i -4.00-9.00i 

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

 Press   return to continue
 Press X return to stop