Mathc complexes/a206
Apparence
Le code de la fonction :
/* ------------------------------------ */
/* ------------------------------------ */
double **c_z_mZ(
nb_Z z,
double **A,
int r,
int c
)
{
if(c!=C1) c= (c-C1)*C2+C1;
A[r][c] = z.r;
A[r][c+C1] = z.i;
return(A);
}
/* ------------------------------------ */
/* ------------------------------------ */
La fonction copie un nombre complexe dans une matrice A. * Si c égal C1, alors il suffit de rajouter à c (c+C1) pour la partie imaginaire du nombre. * Si c est différent de C1, il faut tenir compte que chaque nombre est constitué de deux chiffres. * Si on veut introduire un nombre complexe dans la troisième colonne de la matrice. ** c= (c-C1)*C2+C1 -> c= (C3-C1)*C2+C1 -> c= (C2)*C2+C1 -> c= C4+C1 -> c= C5 ** Ce nombre complexe devra être copier dans la cinquième colonne pour la partie réelle, et (C5+C1) pour la partie imaginaire.
Installer et compiler ce fichier dans votre répertoire de travail.
c00a.c |
|---|
/* ------------------------------------ */
/* Save as : c00a.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
int main(void)
{
nb_Z z1 = {11.,11.}; /* 1 */
nb_Z z2 = i_Z(22.,22.); /* 2 */
nb_Z z3;
double **A = c_z_mZ(z1, i_mZ(R3,C4), R1,C1);
z3 = i_Z(33.,33.); /* 3 */
clrscrn();
printf(" z1: ");p_Z(z1, S5,P0, S4,P0);printf(" \n");
printf(" z2: ");p_Z(z2, S5,P0, S4,P0);printf(" \n");
printf(" z3: ");p_Z(z3, S5,P0, S4,P0);printf("\n\n");
printf(" A : c_s_mZ(z1,A,R1,C1); z1->A[R1,C1]\n");
p_mZ(A, S5,P0, S4,P0,C6);
c_z_mZ(z2,A, R2,C2); /* 2 */
printf(" A : c_s_mZ(z2,A,R2,C2); z2->A[R2,C2]\n");
p_mZ(A, S5,P0, S4,P0,C6);
printf(" A : c_s_mZ(z3,A,R3,C1); z3->A[R3,C1]\n");
p_mZ(c_z_mZ(z3,A, R3,C1), S5,P0, S4,P0,C6); /* 3 */
stop();
f_mZ(A);
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
Exemple de sortie écran :
z1: +11 +11i
z2: +22 +22i
z3: +33 +33i
A : c_s_mZ(z1,A,R1,C1); z1->A[R1,C1]
+11 +11i +0 +0i +0 +0i +0 +0i
+0 +0i +0 +0i +0 +0i +0 +0i
+0 +0i +0 +0i +0 +0i +0 +0i
A : c_s_mZ(z2,A,R2,C2); z2->A[R2,C2]
+11 +11i +0 +0i +0 +0i +0 +0i
+0 +0i +22 +22i +0 +0i +0 +0i
+0 +0i +0 +0i +0 +0i +0 +0i
A : c_s_mZ(z3,A,R3,C1); z3->A[R3,C1]
+11 +11i +0 +0i +0 +0i +0 +0i
+0 +0i +22 +22i +0 +0i +0 +0i
+33 +33i +0 +0i +0 +0i +0 +0i
Press return to continue.
Remarque :
Vous pouvez aussi utiliser cette version.
Le code de la fonction :
/* ------------------------------------ */
/* ------------------------------------ */
double **c_z_mZ(
nb_Z z,
double **A,
int r,
int c
)
{
c= (c-C1)*C2+C1;
A[r][c] = z.r;
A[r][c+C1] = z.i;
return(A);
}
/* ------------------------------------ */
/* ------------------------------------ */
La fonction copie un nombre complexe dans une matrice A. * Si c égal C1, il faut tenir compte que chaque nombre est constitué de deux chiffres. * Si on veut introduire un nombre complexe dans la première colonne de la matrice. ** c= (c-C1)*C2+C1 -> c= (C1-C1)*C2+C1 -> c= (C0)*C2+C1 -> c= C0+C1 -> c= C1 ** Ce nombre complexe devra être copier dans la première colonne pour la partie réelle, et (C1+C1) pour la partie imaginaire.