Mathc complexes/09k
Apparence
Le code de la fonction :
/* ------------------------------------ */
/* ------------------------------------ */
double **c_Ab_b_mZ(
double **Ab,
double **b
)
{
int r;
int c;
int b_c;
for (r=R1; r<Ab[R_SIZE][C0]; r++)
for (c=Ab[C_SIZE_A][C0],b_c=C1; c<Ab[C_SIZE][C0]; c++,b_c++)
b[r][b_c] = Ab[r][c];
return(b);
}
/* ------------------------------------ */
/* ------------------------------------ */
Copier b de Ab dans b. Le coefficient Ab[C_SIZE_A][C0] dans Ab donne le nombre de colonne de A. Il est mémorisé dans dans la deuxième ligne (C_SIZE_A = R2) et la colonne zéro (C0).
c = Ab[C_SIZE_A][C0] // De la première colonne de b dans Ab
b_c= C1 // De la première colonne de b.
c++ // à la dernière colonne de b dans Ab
b_c++ // à la dernière colonne de b
//La matrice Ab doit être initialiser avec la fonction :
double **Ab = i_Abr_Ac_bc_mZ( RAb, CA, Cb);
// Cette fonction installe la bonne taille pour la matrices Ab.
double **i_Abr_Ac_bc_mZ(
int Ab_r, // nombre de lignes de Ab
int A_c, // nombre de colonnes de A
int b_c // nombre de colonnes de b
)
Installer et compiler ce fichier dans votre répertoire de travail.
c00c.c |
|---|
/* ------------------------------------ */
/* Save as : c00c.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
void fun(int r, int Ac, int bc)
{
double **Ab = r_mZ( i_Abr_Ac_bc_mZ(r,Ac,bc),99.);
double **b = i_mZ(r,bc);
c_Ab_b_mZ(Ab, b);
clrscrn();
printf(" Ab : Ab[R%d][C%d] \n",
rsize_Z(Ab),
csize_Z(Ab));
p_mZ(Ab,S5,P0,S4,P0,C6);
printf(" b : c_Ab_b_mZ(Ab,b); b[R%d][C%d] \n",
rsize_Z(Ab),
csize_Z(Ab)-csize_A_Z(Ab));
p_mZ(b,S5,P0,S4,P0,C6);
f_mZ(Ab);
f_mZ(b);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
{
fun(rp_I(R3)+R1, rp_I(C2)+C1, rp_I(C2)+C1);
} while(stop_w());
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Exemple de sortie écran :
Ab : Ab[R4][C6]
+84 -22i -33 +95i +90 -78i +96 -94i +51 +40i +19 +65i
-92 -58i -2 +81i +16 +81i +80 -69i +98 +81i -32 -61i
+50 +17i +31 -24i +81 +6i +98 -63i -86 -58i +18 -32i
+73 +6i -84 -82i -64 -1i +76 -13i -4 +38i -4 -12i
b : c_Ab_b_mZ(Ab,b); b[R4][C3]
+96 -94i +51 +40i +19 +65i
+80 -69i +98 +81i -32 -61i
+98 -63i -86 -58i +18 -32i
+76 -13i -4 +38i -4 -12i
Press return to continue
Press X return to stop