Mathc complexes/09p
Apparence
Installer et compiler ce fichier dans votre répertoire de travail.
c00e.c |
|---|
/* ------------------------------------ */
/* Save as : c00e.c */
/* ------------------------------------ */
#include "w_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
double **p5_mZ(
double **A, // R3xC8
int Sr, // S4
int Pr, // P0
int Si, // S4
int Pi, // P0
int Cn // C3
)
{
int r;
int c;
int n_c;
int n_c_LAST;
int n_c_FIRST;
n_c = R1;
// C8
while(n_c<A[C_SIZE][C0])
{
n_c+=Cn*C2;
n_c_FIRST = n_c-Cn*C2;
if(n_c<A[C_SIZE][C0])n_c_LAST = n_c; // Print C3
// columns
else n_c_LAST = A[C_SIZE][C0]; // Print the
// last columns
for(r=R1; r<A[R_SIZE][C0]; r++)
{
printf("\n");
for (c=n_c_FIRST; c<n_c_LAST; c+=C2)
printf("%+*.*f%+*.*fi ",Sr,Pr,A[r][c],Si,Pi,A[r][c+C1]);
}
printf("\n");
}
printf("\n");
return(A);
}
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
{
double **A = r_mZ(i_mZ(R3,C8),99.);
clrscrn();
printf(" A: p5_mZ(A, S4,P0, C3);");
p5_mZ(A, S4,P0, S4,P0, C3);
stop();
f_mZ(A);
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
On a ajouté le dernier argument à la fonction "Cn" pour contrôler le nombre de colonnes par ligne à afficher. * La variable "n_c_LAST" décide de la dernière colonne à afficher dans la boucle "for". * La variable "n_c_FIRST" décide qu'elle est la première colonne à afficher. * "Cn" décide le nombre de colonnes à afficher par ligne.
Algorithme :
n_c = nombres de colonnes à afficher par ligne
Si le nombre "n_c" est inférieur à la taille de la matrice.
* Afficher "Cn" colonnes. (Boucles "for")
* Ajouter "Cn" nouvelles colonnes. (n_c+=Cn*C2 )
Si le nombre n_c est supérieur à la taille de la matrice.
* Afficher les dernières colonnes de la matrice.
Exemple de sortie écran :
A: p5_mZ(A, S4,P0, C3);
+29 -73i -24 +56i -70 -42i
+55 -96i +74 +14i -52 -82i
-84 -44i -5 -1i -10 -12i
-6 +96i +43 +80i +99 -61i
-78 +60i +30 +75i +47 -63i
+57 +7i +8 +16i +15 -25i
+27 -45i -92 +33i
+51 -50i -16 -60i
-81 +7i +54 +65i
Press return to continue.