Mathc matrices/Fichiers c : p01a
Installer et compiler ce fichier dans votre répertoire de travail.
p01a.c |
---|
/* ------------------------------------ */
/* Save as : p01a.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void p1_mR(
double **A
)
{
int r;
int c;
for (r = R1; r < A[R_SIZE][C0]; r++)
{
for (c = C1; c < A[C_SIZE][C0]; c++)
printf("%f ",A[r][c]);
printf("\n");
}
}
/* ------------------------------------ */
void fun(int r,int c)
{
double **A = r_mR(i_mR(r,c),9);
clrscrn();
printf(" A[R%d,C%d] : \n",rsize_R(A),csize_R(A));
p_mR(A,S4,P0,C8);
p1_mR(A);
f_mR(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
fun(rp_I(R4),rp_I(C8));
while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
La fonction p_mR(); existant déjà dans la librairie je l'ai ici renommé p1_mR();
Exemple de sortie écran :
A[R4,C3] :
-9 -3 +8
-3 -9 -1
+2 -9 +4
-9 +4 +2
-9.000000 -3.000000 8.000000
-3.000000 -9.000000 -1.000000
2.000000 -9.000000 4.000000
-9.000000 4.000000 2.000000
Press return to continue
Press X to stop
Nous pouvons voir que la matrice est dessinée sans aucun formatage.
Les deux boucles for imbriquées permettent de dessiner, de la première colonne à la dernière colonne, et de la première ligne à la dernière ligne.
Le printf(); dans la boucle intérieure permet de passer à la ligne après que la dernière colonne soit dessinée
La fonction c_mR(); qui copie une matrice A dans une matrice B à exactement la même forme.
D'autres exemples de fonctions fonctionnant sur le même principe :
add_mR(); sub_mR(); smul_mR(); transpose_mR(); m0_mR(); eye_mR(); r_mR(); rp_mR(); rE_mR();