Mathc complexes/Fichiers c : m0

Un livre de Wikilivres.

Application

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

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

  clrscrn();

  printf(" A[R%d,C%d]:          (p_mZ();)\n",rsize_Z(A),csize_Z(A));
  p_mZ(A, S5,P0, S4,P0,C6);

  printf("\n\n\n");
  printf(" A[R%d,C%d]:          (pall_mZ();)\n",rsize_Z(A),csize_Z(A));
  pall_mZ(A, S9,P0, S5,P0);
 
  f_mZ(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;

  srand(time(&t));
  
   do 
        fun(rp_I(R4),rp_I(C5));
        
    while(stop_w());
        
  return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */

La première impression de la matrice A montre uniquement les coefficients de la matrice.

La deuxième version montre la ligne et la colonne zéro qui ne sont normalement jamais affichés.


Le nombre de lignes de la matrice est enregistré dans la case A[0,0]

Le nombre de colonnes de la matrice est enregistré dans la case A[1,0]


La matrice a donc en réalité une ligne et une colonne de plus que la matrice affichée.

C'est la ligne et la colonne zéro.


Si l'on souhaite créer une matrice 3x4, on utilise la comande i_mZ(3,4);

C'est la fonction i_mZ() qui ajoutera automatiquement une ligne et une colonne pour créer la ligne et la colonne zéro.


Rappel : Les matrices en C commencent par la ligne zéro et la colonne zéro.


Exemple de sortie écran :

 A[R4,C4]:          (p_mR();)

   -1  -9i    -5  -3i    +6  +2i    -9  -1i 
   +6  -5i    -3  -5i    +6  +2i    +6  -3i 
   +2  -9i    +6  -7i    -5  +4i    +8  +6i 
   +8  -7i    -5  -7i    -1  -7i    -3  +2i 




 A[R4,C4]:          (pall_mR();)

   +5    +1   0     +2   0     +3   0     +4   0  

   +9    -1  -9i    -5  -3i    +6  +2i    -9  -1i 
   +0    +6  -5i    -3  -5i    +6  +2i    +6  -3i 
   +0    +2  -9i    +6  -7i    -5  +4i    +8  +6i 
   +0    +8  -7i    -5  -7i    -1  -7i    -3  +2i 


 Press return to continue
 Press X      to stop