Mathc matrices/Fichiers c :dif size
Apparence
Installer et compiler ce fichier dans votre répertoire de travail.
dif_size.c |
---|
/* ------------------------------------ */
/* Save as : dif_size.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void xdif_sizes_mR(
double **A,
double **B,
char function[],
char matrices[]
)
{
if( A[R_SIZE][C0]!=B[R_SIZE][C0]
||
A[C_SIZE][C0]!=B[C_SIZE][C0] )
{
printf("\n Error : %s\n",function);
printf("\n matrices different sizes. %s \n",matrices);
stop();
exit(EXIT_FAILURE);
}
}
/* ------------------------------------ */
int main(void)
{
double **A = i_mR(R4,R3);
double **B = i_mR(R4,R6);
clrscrn();
printf(" A[R%d,C%d] : \n",rsize_R(A),csize_R(A));
p_mR(A,S4,P0,C6);
printf(" B[R%d,C%d] : \n",rsize_R(B),csize_R(B));
p_mR(B,S4,P0,C6);
xdif_sizes_mR(A,B,"My function","(A or B)");
f_mR(A);
f_mR(B);
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
La fonction dif_sizes_mR(); existant déjà dans la bibliothèque je l'ai ici renommé xdif_sizes_mR();
Exemple de sortie écran :
A[R4,C3] :
+0 +0 +0
+0 +0 +0
+0 +0 +0
+0 +0 +0
B[R4,C6] :
+0 +0 +0 +0 +0 +0
+0 +0 +0 +0 +0 +0
+0 +0 +0 +0 +0 +0
+0 +0 +0 +0 +0 +0
Error : My function
matrices different sizes. (A or B)
Press return to continue.
Les matrices n'étant pas de taille identique, la fonction d'erreur arrête le programme.
Vous pouvez essayer un autre exemple en changeant les valeurs ci-dessous :
double **A = i_mR(R4,R3);
double **B = i_mR(R4,R3);
A[R4,C3] :
+0 +0 +0
+0 +0 +0
+0 +0 +0
+0 +0 +0
B[R4,C3] :
+0 +0 +0
+0 +0 +0
+0 +0 +0
+0 +0 +0
------------------
(program exited with code: 0)
Press return to continue
Cette fois-ci la fonction d'erreur n'arrête plus le programme.