Aller au contenu

Mathc matrices/c33 2b

Un livre de Wikilivres.


Application

Installer et compiler ce fichier dans votre répertoire de travail.

c02a.c
/* ------------------------------------ */
/*  Save as :   c02b.c                  */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r)
{
double **A   = i_mR(r,r);
double **A_2 = i_mR(r,r);
double **B   = i_mR(r,r);
double **B_2 = i_mR(r,r);
double **AplsB   = i_mR(r,r);
double **AplsB_2 = i_mR(r,r);
double **AB   = i_mR(r,r);
double **BA   = i_mR(r,r);
double **T1   = i_mR(r,r);
double **T2   = i_mR(r,r);

   r_mR(A,9);
   r_mR(B,9);

  clrscrn();
  printf(" A : ");
  p_mR(A,S5,P3,C6);                                
  printf(" B : ");
  p_mR(B,S5,P3,C6);    
  stop();
  
  clrscrn();   
  printf(" (A+B)**2 :\n");
  add_mR(A,B,AplsB);
  pow_mR(2,AplsB,AplsB_2);
  p_mR(AplsB_2,S8,P3,C6);  
      
  printf(" (A+B)**2 = A**2 + AB + BA + B**2  :\n");
  pow_mR(2,A,A_2);  
  mul_mR(A,B,AB);
  mul_mR(B,A,BA);  
  pow_mR(2,B,B_2);
  add_mR(A_2,AB,T1);
  add_mR(T1,BA,T2);
  add_mR(T2,B_2,T1);
  p_mR(T1,S8,P3,C6);
    
  f_mR(A);
  f_mR(A_2);
  f_mR(B);
  f_mR(B_2);
  f_mR(AplsB);
  f_mR(AplsB_2);
  f_mR(AB);
  f_mR(BA);
  f_mR(T1);
  f_mR(T2);
}
/* ------------------------------------ */
void hello(void)
{
 
  printf("\n                                                  ");
  printf("\n     (A+B)**2 = A**2 + AB + BA + B**2             ");
  printf("\n          **************************            \n");
  printf("\n\n                                                ");
  printf("\n                                                \n");
  stop();
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  hello();
do
{
  fun(RC5);

} while(stop_w());

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


Exemple de sortie écran :

 A : 
+1.000 -3.000 +1.000 -3.000 +1.000 
+4.000 -7.000 +3.000 +5.000 -3.000 
+9.000 -3.000 +7.000 +2.000 -6.000 
+9.000 +9.000 +8.000 -7.000 -9.000 
-2.000 -4.000 +7.000 +9.000 +4.000 

 B : 
-5.000 +9.000 -9.000 +1.000 +2.000 
-3.000 +9.000 -9.000 -8.000 +7.000 
-8.000 -6.000 +4.000 +4.000 -9.000 
-1.000 -9.000 -1.000 +5.000 -3.000 
-6.000 +2.000 -5.000 +9.000 -2.000 

 Press return to continue. 
  
  
 (A+B)**2 :

 -26.000  +54.000 -100.000   +0.000 +162.000 
 -64.000  +56.000  -99.000  +34.000 +145.000 
+166.000  -81.000 +179.000 -191.000 -300.000 
 +55.000   +9.000  -25.000 -186.000  -81.000 
+160.000  -74.000 +228.000  +34.000 -274.000 

 (A+B)**2 = A**2 + AB + BA + B**2  :

 -26.000  +54.000 -100.000   +0.000 +162.000 
 -64.000  +56.000  -99.000  +34.000 +145.000 
+166.000  -81.000 +179.000 -191.000 -300.000 
 +55.000   +9.000  -25.000 -186.000  -81.000 
+160.000  -74.000 +228.000  +34.000 -274.000 


 Press return to continue
 Press X      to stop