Mathc matrices/c30a
Installer et compiler ces fichiers dans votre répertoire de travail.
c01a.c |
---|
/* ------------------------------------ */
/* Save as : c01a.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
int main(void)
{
double a[R3*C4]={
-36, +21, -14, +45,
-38, +13, +27, -16,
+41, -6, -44, -14,
};
double **A = ca_A_mR(a,i_mR(R3,C4));
int i = 1;
/* 1-----------------------------------
-36.000 +21.000 -14.000 +45.000
-38.000 +13.000 +27.000 -16.000
+41.000 -6.000 -44.000 -14.000
------------------------------------ */
clrscrn();
printf(" (%d) \n\n",i++);
p_mR(A,S11,P2,C6);
printf(" R2 = -36*R2 \n"); mulR_mR(A,-36.,R2);
printf(" R3 = -36*R3 \n\n"); mulR_mR(A,-36.,R3);
printf(" R2 = 38*R1 + R2 \n");addR_mR(A, 38.,R1,R2);
printf(" R3 = -41*R1 + R3 \n");addR_mR(A,-41.,R1,R3);
p_mR(A,S11,P2,C6);
getchar();
/* 2-----------------------------------
-36.000 +21.000 -14.000 +45.000
+0.000 +330.000 -1504.000 +2286.000
+0.000 -645.000 +2158.000 -1341.000
------------------------------------ */
clrscrn();
printf(" (%d) \n\n",i++);
p_mR(A,S11,P2,C6);
printf(" R2 = 1./2.*R2 \n");mulR_mR(A, 1/2., R2);
p_mR(A,S11,P2,C6);
getchar();
/* 3-----------------------------------
-36.000 +21.000 -14.000 +45.000
+0.000 +165.000 -752.000 +1143.000
+0.000 -645.000 +2158.000 -1341.000
------------------------------------ */
clrscrn();
printf(" (%d) \n\n",i++);
p_mR(A,S11,P2,C6);
printf(" R3 = 11.*R3 (165/645 = 11/43)\n"); mulR_mR(A,11.,R3);
printf(" R3 = 43.*R2 + R3 \n"); addR_mR(A,43.,R2,R3);
p_mR(A,S11,P2,C6);
getchar();
/* 4-----------------------------------
-36.000 +21.000 -14.000 +45.000
+0.000 +165.000 -752.000 +1143.000
+0.000 +0.000 -8598.000 +34398.000
------------------------------------ */
clrscrn();
printf(" (%d) \n\n",i++);
p_mR(A,S11,P2,C6);
printf(" R3 = 1./6.*R3 \n");mulR_mR(A,1./6.,R3);
p_mR(A,S11,P2,C6);
getchar();
/* 5-----------------------------------
-36.000 +21.000 -14.000 +45.000
+0.000 +165.000 -752.000 +1143.000
+0.000 +0.000 -1433.000 +5733.000
------------------------------------ */
clrscrn();
printf(" (%d) \n\n",i++);
p_mR(A,S11,P2,C6);
printf(" R1 = 1433.*R1\n"); mulR_mR(A,1433.,R1);
printf(" R2 = 1433.*R2\n"); mulR_mR(A,1433.,R2);
printf(" R3 = -1.*R3\n"); mulR_mR(A,-1.,R3);
printf(" R1 = 14.*R3 + R1\n");addR_mR(A,14.,R3,R1);
printf(" R2 = 752.*R3 + R2\n");addR_mR(A,752.,R3,R2);
p_mR(A,S11,P2,C6);
getchar();
/* 6-----------------------------------
-51588.000 +30093.000 +0.000 -15777.000
+0.000 +236445.000 +0.000 -2673297.000
+0.000 +0.000 +1433.000 -5733.000
------------------------------------ */
clrscrn();
printf(" (%d) \n\n",i++);
p_mR(A,S11,P2,C6);
printf(" R2 = 1./33.*R2 \n");mulR_mR(A,1./33.,R2);
p_mR(A,S11,P2,C6);
getchar();
/* 7-----------------------------------
-51588.000 +30093.000 +0.000 -15777.000
+0.000 +7165.000 +0.000 -81009.000
+0.000 +0.000 +1433.000 -5733.000
------------------------------------ */
clrscrn();
printf(" (%d) \n\n",i++);
p_mR(A,S11,P2,C6);
printf(" R1 = -5.*R1 (30093/7165 = 21/5)\n");mulR_mR(A,-5.,R1);
printf(" R1 = 21.*R2 + R1 \n"); addR_mR(A,21.,R2,R1);
p_mR(A,S11,P2,C6);
getchar();
/* 8-----------------------------------
+257940.000 +0.000 +0.000 -1622304.000
+0.000 +7165.000 +0.000 -81009.000
+0.000 +0.000 +1433.000 -5733.000
------------------------------------ */
clrscrn();
printf(" (%d) \n\n",i++);
p_mR(A,S11,P2,C6);
printf(" R1 = 1./36.*R1 \n");mulR_mR(A,1./36.,R1);
p_mR(A,S11,P2,C6);
getchar();
f_mR(A);
getchar();
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Exemple de sortie écran :
------------------------------------
(1)
-36.00 +21.00 -14.00 +45.00
-38.00 +13.00 +27.00 -16.00
+41.00 -6.00 -44.00 -14.00
R2 = -36*R2
R3 = -36*R3
R2 = 38*R1 + R2
R3 = -41*R1 + R3
-36.00 +21.00 -14.00 +45.00
+0.00 +330.00 -1504.00 +2286.00
+0.00 -645.00 +2158.00 -1341.00
------------------------------------
(2)
-36.00 +21.00 -14.00 +45.00
+0.00 +330.00 -1504.00 +2286.00
+0.00 -645.00 +2158.00 -1341.00
R2 = 1./2.*R2
-36.00 +21.00 -14.00 +45.00
+0.00 +165.00 -752.00 +1143.00
+0.00 -645.00 +2158.00 -1341.00
------------------------------------
(3)
-36.00 +21.00 -14.00 +45.00
+0.00 +165.00 -752.00 +1143.00
+0.00 -645.00 +2158.00 -1341.00
R3 = 11.*R3 (165/645 = 11/43)
R3 = 43.*R2 + R3
-36.00 +21.00 -14.00 +45.00
+0.00 +165.00 -752.00 +1143.00
+0.00 +0.00 -8598.00 +34398.00
------------------------------------
(4)
-36.00 +21.00 -14.00 +45.00
+0.00 +165.00 -752.00 +1143.00
+0.00 +0.00 -8598.00 +34398.00
R3 = 1./6.*R3
-36.00 +21.00 -14.00 +45.00
+0.00 +165.00 -752.00 +1143.00
+0.00 +0.00 -1433.00 +5733.00
------------------------------------
(5)
-36.00 +21.00 -14.00 +45.00
+0.00 +165.00 -752.00 +1143.00
+0.00 +0.00 -1433.00 +5733.00
R1 = 1433.*R1
R2 = 1433.*R2
R3 = -1.*R3
R1 = 14.*R3 + R1
R2 = 752.*R3 + R2
-51588.00 +30093.00 +0.00 -15777.00
+0.00 +236445.00 +0.00 -2673297.00
-0.00 -0.00 +1433.00 -5733.00
------------------------------------
(6)
-51588.00 +30093.00 +0.00 -15777.00
+0.00 +236445.00 +0.00 -2673297.00
-0.00 -0.00 +1433.00 -5733.00
R2 = 1./33.*R2
-51588.00 +30093.00 +0.00 -15777.00
+0.00 +7165.00 +0.00 -81009.00
-0.00 -0.00 +1433.00 -5733.00
------------------------------------
(7)
-51588.00 +30093.00 +0.00 -15777.00
+0.00 +7165.00 +0.00 -81009.00
-0.00 -0.00 +1433.00 -5733.00
R1 = -5.*R1 (30093/7165 = 21/5)
R1 = 21.*R2 + R1
+257940.00 +0.00 +0.00 -1622304.00
+0.00 +7165.00 +0.00 -81009.00
-0.00 -0.00 +1433.00 -5733.00
------------------------------------
(8)
+257940.00 +0.00 +0.00 -1622304.00
+0.00 +7165.00 +0.00 -81009.00
-0.00 -0.00 +1433.00 -5733.00
R1 = 1./36.*R1
+7165.00 +0.00 +0.00 -45064.00
+0.00 +7165.00 +0.00 -81009.00
-0.00 -0.00 +1433.00 -5733.00