Mathc matrices/Fichiers c : p03a
Installer et compiler ce fichier dans votre répertoire de travail.
p03a.c imprimer la ligne colonne zéro |
---|
/* ------------------------------------ */
/* Save as : p03a.c */
/* ------------------------------------ */
#include "v_a.h"
/* ------------------------------------ */
void p2_mR(
double **A,
int Cx
)
{
int r;
int c;
int firstc;
int lastc;
int tempc = C0;
while(tempc<A[C_SIZE][C0])
{
/* Select the last column to draw */
firstc = tempc;
tempc += Cx;
if(tempc<A[C_SIZE][C0])
lastc = tempc;
else
lastc = A[C_SIZE][C0];
/* Draw the Cx columns */
for(r=R0; r<A[R_SIZE][C0]; r++)
{
for (c=firstc; c<lastc; c++)
printf("%+4.0f ",A[r][c]);
printf("\n");
}
/* A line between each part of the matrix */
printf("\n");
}
}
/* ------------------------------------ */
void fun(int r,int c)
{
double **A = r_mR(i_mR(r,c),9);
clrscrn();
printf(" A1[R%d,C%d] : \n",rsize_mR(A),csize_mR(A));
pall_mR(A,4,0,C9);
printf(" A2[R%d,C%d] : \n",rsize_mR(A),csize_mR(A));
p2_mR(A,C9);
f_mR(A);
}
/* ------------------------------------ */
int main(void)
{
time_t t;
srand(time(&t));
do
fun(rp_I(R4),rp_I(C8));
while(stop_w());
return 0;
}
La fonction p_mR(); existant déjà dans la librairie je l'ai ici renommé p2_mR();
Ici on n'a simplement remplacé :
int tempc = C1;
par
int tempc = C0;
et
for(r=R1; r<A[R_SIZE][C0]; r++)
par
for(r=R0; r<A[R_SIZE][C0]; r++)
Du programme précédent.
Exemple de sortie écran :
A1[R4,C8] :
+5 +1 +2 +3 +4 +5 +6 +7 +8
+9 +8 +8 -7 -7 -1 +8 +2 +2
+0 +4 +4 +8 -3 -1 -1 -7 +6
+0 +4 -5 -3 -1 -3 -3 +8 -9
+0 +4 +6 +2 -3 -5 -5 +6 -3
A2[R4,C8] :
+5 +1 +2 +3 +4 +5 +6 +7 +8
+9 +8 +8 -7 -7 -1 +8 +2 +2
+0 +4 +4 +8 -3 -1 -1 -7 +6
+0 +4 -5 -3 -1 -3 -3 +8 -9
+0 +4 +6 +2 -3 -5 -5 +6 -3
Press return to continue
Press X to stop
Dans l'exemple suivant nous allons séparer la première ligne la ligne zéro par un saut de ligne.