Mathc complexes/Fichiers c : transpose

Un livre de Wikilivres.

Application

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

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

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

  printf("\n A^t  (transpose)\n");
  p_mZ(transpose_mZ(A,A_t), S5,P0, S4,P0,C6);

  f_mZ(A);
  f_mZ(A_t);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  
  do 
         fun(rp_I(R6),rp_I(C6));
        
    while(stop_w());

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


La fonction transpose_mZ() qui échange les lignes et les colonnes.


Exemple de sortie écran :

A 

   +4  -5i    -7  -5i    -5  -3i    -1  +2i 
   +8  +4i    -1  -1i    +4  -1i    -1  -1i 


 A^t  (transpose)

   +4  -5i    +8  +4i 
   -7  -5i    -1  -1i 
   -5  -3i    +4  -1i 
   -1  +2i    -1  -1i 


 Press return to continue
 Press X      to stop