Mathc matrices/Fichiers c : p03a
Installer et compiler ce fichier dans votre répertoire de travail.
p03a.c |
---|
/* ------------------------------------ */
/* Save as : c00.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
/* ------------------------------------ */
double **Xpall_mR(
double **A, // R3xC8
int er,
int dr,
int n_cMAX // C9
)
{
int r;
int c;
int c_LAST;
int c_FIRST;
int THE_LAST_c_TO_WRITE = C0;
// C0 < C9
while(THE_LAST_c_TO_WRITE < A[C_SIZE][C0])
{
c_FIRST = THE_LAST_c_TO_WRITE; //C0
THE_LAST_c_TO_WRITE += n_cMAX; //C0+C9=C9
// C9 < C9
if(THE_LAST_c_TO_WRITE < A[C_SIZE][C0])
c_LAST = THE_LAST_c_TO_WRITE;
else // C9
c_LAST = A[C_SIZE][C0]; //C9
// R0<R4
for(r=R0; r<A[R_SIZE][C0]; r++)
{
// C0<C9
for (c=c_FIRST; c<c_LAST; c++)
// Rr Rc
if(!c) // If we are in C0 then print ___1, ___2, ...
printf("%-+*.*f ",er+C3,P0,A[r][c]);
else if(!r) // If we are in R0 then print 1, 2, ...
printf("%+*.*f " ,er, P0,A[r][c]);
else // Else then print x.xx, x.xx, ...
printf("%+*.*f ", er, dr,A[r][c]);
if(!r)
printf("\n\n");
else
printf("\n");
}
printf("\n");
}
return(A);
}
/* ------------------------------------ */
/* ------------------------------------ */
int main(void)
{
double **A = i_mR(R3,C8);
/* ------------------------------------ */
clrscrn();
r_mR(A,99.);
printf(" x = +22 . 333 \n"
" Sn = S3 + P1 + P3 = S%d\n\n", S3+P1+P3);
Xpall_mR(A, S3 + P1 + P3,
P3,C3);
stop();
/* ------------------------------------ */
/* ------------------------------------ */
clrscrn();
r_mR(A,9999.);
printf(" x = +4444 . 333 \n"
" Sn = S5 + P1 + P3 = S%d\n\n", S5+P1+P3);
Xpall_mR(A, S5 + P1 + P3,
P3,C3);
stop();
/* ------------------------------------ */
/* ------------------------------------ */
clrscrn();
r_mR(A,9999.);
printf(" x = +4444 . 0 \n"
" Sn = S5 + P0 + P0 = S%d\n\n", S5+P0+P0);
Xpall_mR(A, S5 + P0 + P0,
P0,C3);
stop();
/* ------------------------------------ */
/* ------------------------------------ */
clrscrn();
rE_mR(A,9999.,1E-4);
printf(" x = +0 . 4444 \n"
" Sn = S2 + P1 + P4 = S%d\n\n", S2+P1+P4);
Xpall_mR(A, S2 + P1 + P4,
P4,C3);
stop();
/* ------------------------------------ */
/* ------------------------------------ */
clrscrn();
rE_mR(A,999999.,1E-4);
printf(" x = +22 . 4444 \n"
" Sn = S3 + P1 + P4 = S%d\n\n", S3+P1+P4);
Xpall_mR(A, S3 + P1 + P4,
P4,C3);
stop();
/* ------------------------------------ */
/* ------------------------------------ */
f_mR(A);
return 0;
}
/* ------------------------------------ */
/* ------------------------------------ */
x = +22.123
+22 . 123 Sn = S3 + P1 + P3 = S7
Sn : Présente la méthode que j'ai utilisé pour calculer l'espace que j'ai laissé entre les nombres.
Exemple de sortie écran :
x = +22 . 333
Sn = S3 + P1 + P3 = S7
+4 +1 +2
+9 +29.000 -73.000
+0 +43.000 +80.000
+0 +55.000 -96.000
+3 +4 +5
-24.000 +56.000 -70.000
+99.000 -61.000 +27.000
+74.000 +14.000 -52.000
+6 +7 +8
-42.000 -6.000 +96.000
-45.000 -92.000 +33.000
-82.000 -78.000 +60.000
Press return to continue.
/* ------------------------------------ */
/* ------------------------------------ */
x = +4444 . 333
Sn = S5 + P1 + P3 = S9
+4 +1 +2
+9 +3297.000 +9381.000
+0 -7608.000 -1430.000
+0 +8819.000 +1798.000
+3 +4 +5
+7373.000 -1152.000 +645.000
-1391.000 -298.000 -3574.000
+3876.000 -4579.000 -8001.000
+6 +7 +8
-5297.000 -3481.000 -852.000
-8724.000 +6492.000 +1492.000
+5353.000 +846.000 +2144.000
Press return to continue.
/* ------------------------------------ */
/* ------------------------------------ */
x = +4444 . 0
Sn = S5 + P0 + P0 = S5
+4 +1 +2
+9 +1799 -5044
+0 +3311 -4563
+0 -1738 +7744
+3 +4 +5
+4420 +5520 -9180
-3373 -4871 -599
-5028 -7315 -2255
+6 +7 +8
+7782 +6388 +5462
-4438 -9592 -1480
+1464 -7535 -7014
Press return to continue.
/* ------------------------------------ */
/* ------------------------------------ */
x = +0 . 4444
Sn = S2 + P1 + P4 = S7
+4 +1 +2
+9 -0.7348 +0.9613
+0 +0.5511 +0.8919
+0 -0.7263 +0.5950
+3 +4 +5
-0.0719 -0.3677 -0.7873
+0.4610 +0.6329 +0.1332
-0.8555 +0.0882 -0.0906
+6 +7 +8
-0.4344 -0.7860 -0.2021
+0.7090 +0.7881 -0.1294
-0.5476 -0.4212 -0.9945
Press return to continue.
/* ------------------------------------ */
/* ------------------------------------ */
x = +22 . 4444
Sn = S3 + P1 + P4 = S8
+4 +1 +2
+9 -90.9841 +6.5895
+0 +0.4814 +23.6524
+0 +38.6246 -61.9050
+3 +4 +5
-36.7933 -33.7804 +32.0880
-79.8721 +57.1422 -4.4031
+50.3967 +90.9697 +30.9265
+6 +7 +8
-96.6383 +11.6046 +11.8959
-25.9630 -29.8971 -69.0869
-11.1131 +76.0096 -37.8138
Press return to continue.