Mathc complexes/Fichiers c : add r

Un livre de Wikilivres.

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

add.c
/* ------------------------------------ */
/*  Save as :   add.c                   */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int r,int c)
{
double **A     = r_mZ(i_mZ(r,c),9);
double **B     = r_mZ(i_mZ(r,c),9);
double **AplsB =      i_mZ(r,c);

  clrscrn();

  printf(" A : ");
  p_mZ(A, S5,P0, S4,P0,C6);

  printf(" B : ");
  p_mZ(B, S5,P0, S4,P0,C6);

  printf(" A + B : ");
  p_mZ(add_mZ(A,B,AplsB), S5,P0, S4,P0,C6);
  
  f_mZ(A);
  f_mZ(B);
  f_mZ(AplsB);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

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


Vous pouvez regarder le fichier source de la fonction add_mZ(); et éventuellement le comparer à celui sur les nombres réels add_mR();

On se contente de parcourir les deux matrices et d'additionner les coefficients sans se soucier des parties réelles et imaginaires.


Exemple de sortie écran :

 A : 
   +4  -5i    +4  +4i 
   -5  -3i    -7  -1i 
   -7  -7i    -1  -3i 

 B : 
   +2  +8i    +6  -9i 
   -9  -5i    -5  -9i 
   +2  -1i    -9  -3i 

 A + B : 
   +6  +3i   +10  -5i 
  -14  -8i   -12 -10i 
   -5  -8i   -10  -6i 


 Press return to continue
 Press X      to stop