Aller au contenu

Mathc complexes/a11

Un livre de Wikilivres.


Application

Le code de la fonction :

/* ------------------------------------ */
/* ------------------------------------ */
double **c_mZ(
double **A,
double **B
)
{
int c;
int r;

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

            B[r][c] = A[r][c];
            
return(B);
}
/* ------------------------------------ */
/* ------------------------------------ */
Deux boucles "for" permettent de copier la matrice A dans la matrice B. J'ai choisi de ne pas vérifier la taille des matrices. Dans certain cas cela m'a été utile.

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

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

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

  c_mZ(A,B);                        /* 2 */
  printf(" B : \n");        
  p_mZ(B, S5,P0, S4,P0,C6);  
  
  printf(" B : \n");        
  p_mZ(c_mZ(A,B), S5,P0, S4,P0,C6); /* 3 */    
  
  f_mZ(B);
  f_mZ(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  
  do
        fun(rp_I(R5),rp_I(C5));

  while(stop_w());       

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

Exemple de sortie écran :

 A : 

  -83 +90i   +74 +47i   +42 -50i 
  +91 -86i   +26 -18i    +1 +50i 

 B : 

  -83 +90i   +74 +47i   +42 -50i 
  +91 -86i   +26 -18i    +1 +50i 

 B : 

  -83 +90i   +74 +47i   +42 -50i 
  +91 -86i   +26 -18i    +1 +50i 


 Press   return to continue
 Press X return to stop