Aller au contenu

Mathc complexes/51

Un livre de Wikilivres.


Application

Installer et compiler ces fichiers dans votre répertoire de travail.

c00e.c
/* ------------------------------------ */
/*  Save as :   c00e.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
double **xclean_eyes_mZ(
double **ID
)
{
int r;
int c;

  isquare_mZ(ID,"clean_eyes_mZ;","(ID)");

  for (   r=R1; r<ID[R_SIZE][C0]; r++)
    for ( c=R1; c<ID[C_SIZE][C0]; c+=C2)

        if(((r-R1)*C2)!=c-C1)
            {
                 ID[r][c   ] = 0.;
                 ID[r][c+C1] = 0.;
            }
            
return(ID);
}
/* ------------------------------------ */
/* ------------------------------------ */
void fun(int rc)
{
double **A   = r_mZ(i_mZ(rc,rc), 999);

  clrscrn();

  printf(" A :");
  p_mZ(A, S10,P0, S3,P0, C8);
  
  printf(" A : ");;
  p_mZ(clean_eyes_mZ(A), S10,P0, S3,P0, C8);
   
  f_mZ(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  
  do
        fun(rp_I(RC3)+R2);

  while(stop_w());       

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Cette fonction mes à zéro toutes les valeurs de la matrice, sauf celles sur la diagonale.
Exemple de sortie écran :
 A :
      -889-41i       -474-206i       -327-614i 
      +221-452i       -531+592i       +972+412i 
       +40-822i       -356+989i       +639-997i 

 A : 
      -889-41i         +0 +0i         +0 +0i 
        +0 +0i       -531+592i         +0 +0i 
        +0 +0i         +0 +0i       +639-997i 


 Press   return to continue
 Press X return to stop