Mathc complexes/Fichiers c : transpose
Apparence
Installer et compiler ce fichier dans votre répertoire de travail.
transpose.c |
|---|
/* ------------------------------------ */
/* Save as : transpose.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
double **xtranspose_mZ(
double **A,
double **A_t
)
{
int r,m;
int c,n;
canItranspose_mZ(A,A_t,"transpose_mZ();","(A or A_t)");
for ( r=R1, m=C1; r<A[R_SIZE][C0]; r++, m+=C2)
for ( c=C1, n=R1; c<A[C_SIZE][C0]; c+=C2, n++)
{
A_t[n][m] = A[r][c];;
A_t[n][m+C1] = A[r][c+C1];;
}
return(A_t);
}
/* ------------------------------------ */
/* ------------------------------------ */
void fun(int r,int c)
{
double **A = r_mZ( i_mZ(r,c),9);
double **A_t = transpose_mZ(A, i_mZ(c,r));
clrscrn();
printf(" A \n");
p_mZ(A, S5,P0, S4,P0,C6);
printf("\n A^t (transpose)\n");
p_mZ(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(); é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