Mathc complexes/a210
Installer et compiler ce fichier dans votre répertoire de travail.
c00a.c |
---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(void)
{
double **U_T = r_mZ(i_mZ(R1, C3), 9);
double **V_T = r_mZ(i_mZ(R1, C3), 9);
double **W_T = r_mZ(i_mZ(R1, C3), 9);
double **UxV_T = i_mZ(R1, C3);
double **UxW_T = i_mZ(R1, C3);
double **UxV_T_pls_UxW_T = i_mZ(R1, C3);
double **V_plus_W_T = add_mZ(V_T,W_T,i_mZ(R1, C3));
double **Ux_VplusW_T = i_mZ(R1, C3);
double **A = m1_mZ(i_mZ(R3, C3));
// (u x v)
c_r_mZ(U_T, R1, A, R2);
c_r_mZ(V_T, R1, A, R3);
// cofactor(A) -> (u x v)
c_z_mZ(cofactor_Z(A, R1, C1), UxV_T, R1, C1);
c_z_mZ(cofactor_Z(A, R1, C2*C2-C1), UxV_T, R1, C2);
c_z_mZ(cofactor_Z(A, R1, C3*C2-C1), UxV_T, R1, C3);
// c*C2 : a number has two columns
// -C1 : The real part of the number
// (u x w)
c_r_mZ(U_T, R1, A, R2);
c_r_mZ(W_T, R1, A, R3);
// cofactor(A) -> (u x w)
c_z_mZ(cofactor_Z(A, R1, C1), UxW_T, R1, C1);
c_z_mZ(cofactor_Z(A, R1, C2*C2-C1), UxW_T, R1, C2);
c_z_mZ(cofactor_Z(A, R1, C3*C2-C1), UxW_T, R1, C3);
// c*C2 : a number has two columns
// -C1 : The real part of the number
// (uxv) + (uxw)
add_mZ(UxV_T,UxW_T,UxV_T_pls_UxW_T);
// u x (v+w)
c_r_mZ(U_T, R1, A, R2);
c_r_mZ(V_plus_W_T, R1, A, R3);
// cofactor(A) -> (u x (v+w))
c_z_mZ(cofactor_Z(A, R1, C1), Ux_VplusW_T, R1, C1);
c_z_mZ(cofactor_Z(A, R1, C2*C2-C1), Ux_VplusW_T, R1, C2);
c_z_mZ(cofactor_Z(A, R1, C3*C2-C1), Ux_VplusW_T, R1, C3);
// c*C2 : a number has two columns
// -C1 : The real part of the number
clrscrn();
printf(" u_T :");
p_mZ(U_T, S4, P0, S3, P0, C6);
printf(" v_T :");
p_mZ(V_T, S4, P0, S3, P0, C6);
printf(" w_T :");
p_mZ(W_T, S4, P0, S3, P0, C6);
printf("\n\n"
" u x (v+w) == (uxv) + (uxw) \n\n"
" u x (v+w) :");
p_mZ(Ux_VplusW_T, S5, P0, S3, P0, C6);
printf(" (uxv) + (uxw) :");
p_mZ(UxV_T_pls_UxW_T, S5, P0, S3, P0, C6);
f_mZ(U_T);
f_mZ(V_T);
f_mZ(W_T);
f_mZ(UxV_T);
f_mZ(UxW_T);
f_mZ(UxV_T_pls_UxW_T);
f_mZ(V_plus_W_T);
f_mZ(Ux_VplusW_T);
f_mZ(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun();
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Les vecteurs en mathématiques sont supposés être des vecteurs colonnes, c'est pour cela que j'utilise _T pour afficher des vecteurs lignes.
Exemple de sortie écran :
u_T :
-4 -1i -4 +3i +9 -9i
v_T :
+6 +3i -6 -5i -7 -5i
w_T :
+3 -9i +5 +5i +1 -9i
u x (v+w) == (uxv) + (uxw)
u x (v+w) :
+75+29i +17-197i +22-50i
(uxv) + (uxw) :
+75+29i +17-197i +22-50i
Press return to continue
Press X return to stop