Mathc matrices/Fichiers c : sub r
Aller à la navigation
Aller à la recherche
Installer et compiler ce fichier dans votre répertoire de travail.
![]() |
sub.c soustraction des matrices |
---|
/* ------------------------------------ */
/* Save as : sub.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void fun(int r,int c)
{
double **A = i_mR(r,c);
double **B = i_mR(r,c);
double **AmnsB = i_mR(r,c);
clrscrn();
printf(" A : ");
p_mR(r_mR(A,99),5,0,C6);
printf(" B : ");
p_mR(r_mR(B,99),5,0,C6);
printf(" AmnsB : ");
p_mR(sub_mR(A,B,AmnsB),5,0,C6);
f_mR(A);
f_mR(B);
f_mR(AmnsB);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
fun(rp_I(R4),rp_I(C6));
while(stop_w());
return 0;
}
Ici on initialise les valeurs des matrices dans la fonction qui les imprime.
Cela est possible car ces fonctions retournent toutes un pointeur sur la matrice sur laquelle elle travaille. (voir le code dans les fichiers h)
On pourrait très bien écrire la fonction r_mR(); sans qu'elle ne retourne ce quoi que soit. Par exemple ;
double **r_mR(double **A,int n)
void r_mR(double **A,int n)
Il suffirait de supprimer
return(A);
pour que cela fonction parfaitement.
Par contre le code
printf(" A : ");
p_mR((r_mR(A,99)),5,0,C6);
devrait être écrit obligatoirement :
printf(" A : ");
r_mR(A,99));
p_mR(A,5,0,C6);
Exemple de sortie écran :
A :
+16 -85 +26
+68 -83 -53
+44 +96 -69
+74 +54 +78
B :
-55 -25 -63
+44 +28 +12
+8 +44 -99
+18 -99 +40
AmnsB :
+71 -60 +89
+24 -111 -65
+36 +52 +30
+56 +153 +38
Press return to continue
Press X to stop