Mathc complexes/a73

Un livre de Wikilivres.

Application

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

c01c.c
/* ------------------------------------ */
/*  Save as :   c01c.c                 */
/* ------------------------------------ */
#include "w_a.h"

/* ------------------------------------ */
void fun(int r, int c, int bc)
{
double **A  = i_mZ(r,c);
double **b  = i_mZ(r,bc);
double **Ab = r_mZ(i_Abr_Ac_bc_mZ(r,c,bc),99.);        
                        
  clrscrn();
  printf(" Ab :                            Ab[R%d][C%d]   \n",
                            rsize_Z(Ab), 
                            csize_Z(Ab));
  p_mZ(Ab,S5,P0,S4,P0,C6);
  stop();
  
  clrscrn();    
  printf(" A : c_Ab_A_mZ(Ab,A);             A[R%d][C%d] \n",
                            rsize_Z(Ab), 
                            csize_A_Z(Ab));
  p_mZ(c_Ab_A_mZ(Ab,A),S5,P0,S4,P0,C6);
  stop();
  
  clrscrn();  
  printf(" b : c_Ab_b_mZ(Ab,b);             b[R%d][C%d]  \n",
                            rsize_Z(Ab), 
                            csize_Z(Ab)-csize_A_Z(Ab));
  p_mZ(c_Ab_b_mZ(Ab,b),S5,P0,S4,P0,C6);
        
  f_mZ(Ab);
  f_mZ(b);
  f_mZ(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
do
{
  fun(rp_I(R5)+R1, rp_I(R4)+R2, rp_I(R3)+R1);


} while(stop_w());

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */


Copier A de Ab dans A
Copier b de Ab dans b:
//La matrice Ab doit être initialiser avec la fonction :

double **Ab = i_Abr_Ac_bc_mZ( RAb, CA, Cb); 

//Cette fonction installe la bonne taille pour les matrices Ab, A, b.


Exemple de sortie écran :

 -------------------------------- 
 Ab :                            Ab[R2][C9]   

  +84 +97i   -61 -19i    +7 +44i    -9 +58i    +5  -1i   -43 +39i 
   +5 -98i   -92 -49i   +55 -53i    +4 -34i   +97 -13i   +93 +75i 

   +7 +77i   -19 -48i   +57  -7i 
  +64 +13i   -66 +37i   -43 -79i 

 Press return to continue. 

 -------------------------------- 
 A : c_Ab_A_mZ(Ab,A);             A[R2][C5] 

  +84 +97i   -61 -19i    +7 +44i    -9 +58i    +5  -1i 
   +5 -98i   -92 -49i   +55 -53i    +4 -34i   +97 -13i 

 Press return to continue. 


 -------------------------------- 
 b : c_Ab_b_mZ(Ab,b);             b[R2][C4]  

  -43 +39i    +7 +77i   -19 -48i   +57  -7i 
  +93 +75i   +64 +13i   -66 +37i   -43 -79i 


 Press return to continue
 Press X      to stop