Aller au contenu

Mathc complexes/a76

Un livre de Wikilivres.


Application

Le code de la fonction :

/* ------------------------------------ */
/* ------------------------------------ */
double **c_r1Ar2_mZ(
int r1,
double **A,

int r2)
{
int c;

    for ( c=C1; c<A[C_SIZE][C0]; c++)

             A[r2][c] = A[r1][c];
             
return(A);
}
/* ------------------------------------ */
/* ------------------------------------ */
Copier une ligne R1 dans la ligne R2 d'une matrice. Cela permet par exemple d'obtenir une matrice singulière , mais aussi cela permet d'obtenir des matrices avec un ou plusieurs  vecteurs libres, si on répète l'opération sur plusieurs lignes. 

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

c00a.c
/* ------------------------------------ */
/*  Save as :   c00a.c                  */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
void fun(int r,int c)
{
double **A     = r_mZ(i_mZ(r,c),99.);

  clrscrn(); 
  
  printf(" A :");
  p_mZ(A, S5,P0, S5,P0, C10);   
    
  printf(" A : c_r1Ar2_mZ(R1,A, R2);");
  p_mZ(c_r1Ar2_mZ(R1,A, R2), S5,P0, S5,P0, C10);
  
  f_mZ(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));

int i;

do
{
  i = rp_I(R3)+R1;
  
  fun(i,i+C1);

} while(stop_w());

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

Exemple de sortie écran :

 -------------------------------- 
 A :
  -80  -25i   +75  +43i   -36  +83i   +32  +68i 
  +19  -34i   -26  -98i    -1  +62i   -99  -28i 
   -4   -8i   -97  -71i   +55  +68i   -87  +36i 

 A : c_r1Ar2_mZ(A,R1,R2);
  -80  -25i   +75  +43i   -36  +83i   +32  +68i 
  -80  -25i   +75  +43i   -36  +83i   +32  +68i 
   -4   -8i   -97  -71i   +55  +68i   -87  +36i 


 Press return to continue
 Press X      to stop