« Mathc matrices/c30b » : différence entre les versions

Contenu supprimé Contenu ajouté
modification mineure
(Aucune différence)

Version du 22 novembre 2021 à 22:01


Sommaire


Installer et compiler ces fichiers dans votre répertoire de travail.


c1b.c
/* ------------------------------------ */
/*  Save as :   c1b.c               */
/* ------------------------------------ */
#include      "v_a.h"
/* ------------------------------------ */
int main(void)
{
double a[R4*C5]={
1, 3, 2, 3,  0,
9, 1, 1, 2,  3,
2, 3, 8, 5, -2,
3, 4, 8, 1,  1,
};

double **A = ca_A_mR(a,i_mR(R4,C5));

int i  = 1;

/* 1----------------------------------- 
       +1.000       +3.000       +2.000       +3.000       +0.000
       +9.000       +1.000       +1.000       +2.000       +3.000
       +2.000       +3.000       +8.000       +5.000       -2.000
       +3.000       +4.000       +8.000       +1.000       +1.000
   ------------------------------------ */
     clrscrn();
     printf(" (%d) \n\n",i++);
     p_mR(A,S10,P1,C6);        
     printf(" R2 = -9*R1 + R2 \n");addR_mR(A, -9,R1,R2);           
     printf(" R3 = -2*R1 + R3 \n");addR_mR(A, -2,R1,R3);           
     printf(" R4 = -3*R1 + R4 \n");addR_mR(A, -3,R1,R4);           
     p_mR(A,S10,P1,C6);        
     getchar();

/* 1----------------------------------- 
       +1.000       +3.000       +2.000       +3.000       +0.000
       +0.000      -26.000      -17.000      -25.000       +3.000
       +0.000       -3.000       +4.000       -1.000       -2.000
       +0.000       -5.000       +2.000       -8.000       +1.000
   ------------------------------------ */
     clrscrn();
     printf(" (%d) \n\n",i++);
     p_mR(A,S10,P1,C6);        
     printf(" R3 = -26*R3 \n");   mulR_mR(A,-26.,R3);        
     printf(" R4 = -26*R4 \n");   mulR_mR(A,-26.,R4);        
     printf(" R3 = 3*R2 + R3 \n");addR_mR(A,  3.,R2,R3);       
     printf(" R4 = 5*R2 + R4 \n");addR_mR(A,  5.,R2,R4);       
     p_mR(A,S10,P1,C6);        
     getchar();

/* 1----------------------------------- 
       +1.000       +3.000       +2.000       +3.000       +0.000
       +0.000      -26.000      -17.000      -25.000       +3.000
       +0.000       +0.000     -155.000      -49.000      +61.000
       +0.000       +0.000     -137.000      +83.000      -11.000
   ------------------------------------ */
     clrscrn();
     printf(" (%d) \n\n",i++);
     p_mR(A,S10,P1,C6);        
     printf(" R4 = -155*R4 \n");     mulR_mR(A,-155.,R4);        
     printf(" R4 =  137*R3 + R4 \n");addR_mR(A, 137.,R3,R4);     
     p_mR(A,S10,P1,C6);        
     getchar();

/* 1----------------------------------- 
       +1.000       +3.000       +2.000       +3.000       +0.000
       +0.000      -26.000      -17.000      -25.000       +3.000
       +0.000       +0.000     -155.000      -49.000      +61.000
       +0.000       +0.000       +0.000   -19578.000   +10062.000
   ------------------------------------ */
     clrscrn();
     printf(" (%d) \n\n",i++);
     p_mR(A,S10,P1,C6);        
     printf(" R4 = -1./78.*R4 \n");mulR_mR(A,-1./78.,R4);     
     p_mR(A,S10,P1,C6);        
     getchar();

/* 1----------------------------------- 
       +1.000       +3.000       +2.000       +3.000       +0.000
       +0.000      -26.000      -17.000      -25.000       +3.000
       +0.000       +0.000     -155.000      -49.000      +61.000
       +0.000       +0.000       +0.000     +251.000     -129.000
   ------------------------------------ */
     clrscrn();
     printf(" (%d) \n\n",i++);
     p_mR(A,S10,P1,C6);        
     printf(" R1 = 251.*R1 \n");     mulR_mR(A,251.,R1);          
     printf(" R2 = 251.*R2 \n");     mulR_mR(A,251.,R2);          
     printf(" R3 = 251.*R3 \n");     mulR_mR(A,251.,R3);          
     printf(" R1 =   -3*R4 + R1 \n");addR_mR(A, -3.,R4,R1);      
     printf(" R2 =   25*R4 + R2 \n");addR_mR(A, 25.,R4,R2);      
     printf(" R3 =   49*R4 + R3 \n");addR_mR(A, 49.,R4,R3);      
     p_mR(A,S10,P1,C6);        
     getchar();
     
/* 1----------------------------------- 
     +251.000     +753.000     +502.000       +0.000     +387.000
       +0.000    -6526.000    -4267.000       +0.000    -2472.000
       +0.000       +0.000   -38905.000       +0.000    +8990.000
       +0.000       +0.000       +0.000     +251.000     -129.000
   ------------------------------------ */
     clrscrn();
     printf(" (%d) \n\n",i++);
     p_mR(A,S10,P1,C6);        
     printf(" R3 = -1./155.*R3 \n");mulR_mR(A,-1./155.,R3);   
     p_mR(A,S10,P1,C6);        
     getchar();

/* 1----------------------------------- 
     +251.000     +753.000     +502.000       +0.000     +387.000
       +0.000    -6526.000    -4267.000       +0.000    -2472.000
       +0.000       +0.000     +251.000       +0.000      -58.000
       +0.000       +0.000       +0.000     +251.000     -129.000
   ------------------------------------ */
     clrscrn();
     printf(" (%d) \n\n",i++);
     p_mR(A,S10,P1,C6);        
     printf(" R1 =   -2*R3 + R1 ( 2*251 =  502)\n");addR_mR(A, -2.,R3,R1);     
     printf(" R2 =  +17*R3 + R2 (17*251 = 4267)\n");addR_mR(A,+17.,R3,R2);     
     p_mR(A,S10,P1,C6);        
     getchar();

/* 1----------------------------------- 
     +251.000     +753.000       +0.000       +0.000     +503.000
       +0.000    -6526.000       +0.000       +0.000    -3458.000
       +0.000       +0.000     +251.000       +0.000      -58.000
       +0.000       +0.000       +0.000     +251.000     -129.000
   ------------------------------------ */
     clrscrn();
     printf(" (%d) \n\n",i++);
     p_mR(A,S10,P1,C6);        
     printf(" R2 = -1./26.*R2 \n");mulR_mR(A,-1./26.,R2);     
     p_mR(A,S10,P1,C6);        
     getchar();

/* 1----------------------------------- 
     +251.000     +753.000       +0.000       +0.000     +503.000
       +0.000     +251.000       +0.000       +0.000     +133.000
       +0.000       +0.000     +251.000       +0.000      -58.000
       +0.000       +0.000       +0.000     +251.000     -129.000
   ------------------------------------ */
     clrscrn();
     printf(" (%d) \n\n",i++);
     p_mR(A,S10,P1,C6);        
     printf(" R1 =-3*R2 + R1 (3*251 = 753) \n");addR_mR(A,-3.,R2,R1);     
     p_mR(A,S10,P1,C6);        
     getchar();

  f_mR(A);
  getchar();

  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */



Exemple de sortie écran :
 ------------------------------------ 

 (1) 


      +1.0       +3.0       +2.0       +3.0       +0.0 
      +9.0       +1.0       +1.0       +2.0       +3.0 
      +2.0       +3.0       +8.0       +5.0       -2.0 
      +3.0       +4.0       +8.0       +1.0       +1.0 

 R2 = -9*R1 + R2 
 R3 = -2*R1 + R3 
 R4 = -3*R1 + R4 

      +1.0       +3.0       +2.0       +3.0       +0.0 
      +0.0      -26.0      -17.0      -25.0       +3.0 
      +0.0       -3.0       +4.0       -1.0       -2.0 
      +0.0       -5.0       +2.0       -8.0       +1.0 


 ------------------------------------ 
 (2) 


      +1.0       +3.0       +2.0       +3.0       +0.0 
      +0.0      -26.0      -17.0      -25.0       +3.0 
      +0.0       -3.0       +4.0       -1.0       -2.0 
      +0.0       -5.0       +2.0       -8.0       +1.0 

 R3 = -26*R3 
 R4 = -26*R4 
 R3 = 3*R2 + R3 
 R4 = 5*R2 + R4 

      +1.0       +3.0       +2.0       +3.0       +0.0 
      +0.0      -26.0      -17.0      -25.0       +3.0 
      +0.0       +0.0     -155.0      -49.0      +61.0 
      +0.0       +0.0     -137.0      +83.0      -11.0 


 ------------------------------------ 
 (3) 


      +1.0       +3.0       +2.0       +3.0       +0.0 
      +0.0      -26.0      -17.0      -25.0       +3.0 
      +0.0       +0.0     -155.0      -49.0      +61.0 
      +0.0       +0.0     -137.0      +83.0      -11.0 

 R4 = -155*R4 
 R4 =  137*R3 + R4 

      +1.0       +3.0       +2.0       +3.0       +0.0 
      +0.0      -26.0      -17.0      -25.0       +3.0 
      +0.0       +0.0     -155.0      -49.0      +61.0 
      +0.0       +0.0       +0.0   -19578.0   +10062.0 


 ------------------------------------ 
 (4) 


      +1.0       +3.0       +2.0       +3.0       +0.0 
      +0.0      -26.0      -17.0      -25.0       +3.0 
      +0.0       +0.0     -155.0      -49.0      +61.0 
      +0.0       +0.0       +0.0   -19578.0   +10062.0 

 R4 = -1./78.*R4 

      +1.0       +3.0       +2.0       +3.0       +0.0 
      +0.0      -26.0      -17.0      -25.0       +3.0 
      +0.0       +0.0     -155.0      -49.0      +61.0 
      -0.0       -0.0       -0.0     +251.0     -129.0 


 ------------------------------------ 
 (5) 


      +1.0       +3.0       +2.0       +3.0       +0.0 
      +0.0      -26.0      -17.0      -25.0       +3.0 
      +0.0       +0.0     -155.0      -49.0      +61.0 
      -0.0       -0.0       -0.0     +251.0     -129.0 

 R1 = 251.*R1 
 R2 = 251.*R2 
 R3 = 251.*R3 

 R1 =   -3*R4 + R1 
 R2 =   25*R4 + R2 
 R3 =   49*R4 + R3 

    +251.0     +753.0     +502.0       +0.0     +387.0 
      +0.0    -6526.0    -4267.0       +0.0    -2472.0 
      +0.0       +0.0   -38905.0       +0.0    +8990.0 
      -0.0       -0.0       -0.0     +251.0     -129.0 


 ------------------------------------ 

 (6) 


    +251.0     +753.0     +502.0       +0.0     +387.0 
      +0.0    -6526.0    -4267.0       +0.0    -2472.0 
      +0.0       +0.0   -38905.0       +0.0    +8990.0 
      -0.0       -0.0       -0.0     +251.0     -129.0 

 R3 = -1./155.*R3 

    +251.0     +753.0     +502.0       +0.0     +387.0 
      +0.0    -6526.0    -4267.0       +0.0    -2472.0 
      -0.0       -0.0     +251.0       -0.0      -58.0 
      -0.0       -0.0       -0.0     +251.0     -129.0 


 ------------------------------------ 
 (7) 


    +251.0     +753.0     +502.0       +0.0     +387.0 
      +0.0    -6526.0    -4267.0       +0.0    -2472.0 
      -0.0       -0.0     +251.0       -0.0      -58.0 
      -0.0       -0.0       -0.0     +251.0     -129.0 

 R1 =   -2*R3 + R1 ( 2*251 =  502)
 R2 =  +17*R3 + R2 (17*251 = 4267)

    +251.0     +753.0       +0.0       +0.0     +503.0 
      +0.0    -6526.0       +0.0       +0.0    -3458.0 
      -0.0       -0.0     +251.0       -0.0      -58.0 
      -0.0       -0.0       -0.0     +251.0     -129.0 


 ------------------------------------ 
 (8) 


    +251.0     +753.0       +0.0       +0.0     +503.0 
      +0.0    -6526.0       +0.0       +0.0    -3458.0 
      -0.0       -0.0     +251.0       -0.0      -58.0 
      -0.0       -0.0       -0.0     +251.0     -129.0 

 R2 = -1./26.*R2 

    +251.0     +753.0       +0.0       +0.0     +503.0 
      -0.0     +251.0       -0.0       -0.0     +133.0 
      -0.0       -0.0     +251.0       -0.0      -58.0 
      -0.0       -0.0       -0.0     +251.0     -129.0 


 ------------------------------------ 
 (9) 


    +251.0     +753.0       +0.0       +0.0     +503.0 
      -0.0     +251.0       -0.0       -0.0     +133.0 
      -0.0       -0.0     +251.0       -0.0      -58.0 
      -0.0       -0.0       -0.0     +251.0     -129.0 

 R1 =-3*R2 + R1 (3*251 = 753) 

    +251.0       +0.0       +0.0       +0.0     +104.0 
      -0.0     +251.0       -0.0       -0.0     +133.0 
      -0.0       -0.0     +251.0       -0.0      -58.0 
      -0.0       -0.0       -0.0     +251.0     -129.0