Installer et compiler ce fichier dans votre répertoire de travail.
![]() |
mul_tran.c ' |
---|
/* ------------------------------------ */
/* Save as : mul_tran.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int r,int rc)
{
double **A = r_mZ(i_mZ(r,rc),99);
double **A_t = i_mZ(rc,r);
double **AA_t = i_mZ(r, r);
clrscrn();
printf(" A[R%d,C%d] : \n",rsize_mZ(A),csize_mZ(A));
p_mZ(A, 5,0, 4,0, C4);
printf(" A_t[R%d,C%d] : \n",rsize_mZ(A_t),csize_mZ(A_t));
p_mZ(transpose_mZ(A,A_t), 5,0, 4,0, C4);
printf(" AA_t[R%d,C%d] : \n",rsize_mZ(AA_t),csize_mZ(AA_t));
p_mZ(mul_mZ(A,A_t,AA_t), 10,0, 6,0, C3);
f_mZ(A);
f_mZ(A_t);
f_mZ(AA_t);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
fun(rp_I(R4),rp_I(RC4));
while(stop_w());
return 0;
}
Si nous multiplions une matrice par sa transposé, l'opération est toujours possible et cela donne une matrice symétrique.
Exemple de sortie écran :
A[R4,C2] :
-99 +58i +80 -29i
-79 +96i +18 +84i
+54 +88i +88 +62i
-3 +76i +22 +52i
A_t[R2,C4] :
-99 +58i -79 +96i +54 +88i -3 +76i
+80 -29i +18 +84i +88 +62i +22 +52i
AA_t[R4,C4] :
+11996-16124i +6129 -7888i -1612 -3172i
+6129 -7888i -9707-12144i -16338 +6740i
-1612 -3172i -16338 +6740i -928+20416i
-843 -4176i -11031 -3508i -8138 +9780i
-843 -4176i
-11031 -3508i
-8138 +9780i
-7987 +1832i
Press return to continue
Press X to stop
Cet article est issu de Wikibooks. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.