Mathc matrices/c30a
Application
Installer et compiler ces fichiers dans votre répertoire de travail.
/* ------------------------------------ */
/* Save as : c01a.c */
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