Aller au contenu

Mathc complexes/a12

Un livre de Wikilivres.


Application

Le code de la fonction :

/* ------------------------------------ */
/* ------------------------------------ */
double **c_r_mZ(
double **A,
int rA,
double **B,
int rB
)
{
int c;

    for(c=C1; c<A[C_SIZE][C0]; c++)

            B[rB][c] = A[rA][c];

return(B);
}
/* ------------------------------------ */
/* ------------------------------------ */
Copier une ligne de la matrice A dans une matrice B. Je ne vérifie pas la taille des lignes. A et B peuvent être de tailles différentes. Il suffit que les tailles de A soient inférieures ou égales à celles de B

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_r_mZ(A,R1, i_mZ(r,c),R2);   /* 1 */

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

  c_r_mZ(A,R1,B,R2);                       /* 2 */
  printf(" B : \n");        
  p_mZ(B, S5,P0, S4,P0,C6);  
  
  printf(" B : \n");        
  p_mZ(c_r_mZ(A,R1,B,R2), 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(R3)+R1,rp_I(C3));

  while(stop_w());       

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

Exemple de sortie écran :

 A : 

  -20 -24i   -64 +68i   +98 +25i 
  -96 -78i   +47 +68i   +84  -9i 
   +1 -94i   -28 +86i   -75 +39i 
  -94  -9i   +20  +2i   -94 +94i 

 B : 

   +0  +0i    +0  +0i    +0  +0i 
  -20 -24i   -64 +68i   +98 +25i 
   +0  +0i    +0  +0i    +0  +0i 
   +0  +0i    +0  +0i    +0  +0i 

 B : 

   +0  +0i    +0  +0i    +0  +0i 
  -20 -24i   -64 +68i   +98 +25i 
   +0  +0i    +0  +0i    +0  +0i 
   +0  +0i    +0  +0i    +0  +0i 


 Press   return to continue
 Press X return to stop