#include <stdio.h>
#define DIM 3
void IniziaMatrice(float [][DIM], float);
void SalvaMatrice(float [][DIM], float [][DIM]);
void ScriviMatrice( float [][DIM], char [10] );
void ScambiaMatrice(float [][DIM], float [][DIM] );
void fine(void);
int main(void)
{
float A[DIM][DIM];
float Appoggio[DIM][DIM] = { 0.0 };
float v;
IniziaMatrice(A, 1.5);
ScriviMatrice (A, "A:");
ScriviMatrice (Appoggio, "Appoggio:");
fine();
printf("\nsalvo A in Appoggio\n");
SalvaMatrice(Appoggio, A);
printf("\ncopio Appoggio in A, scambiando righe con colonne\n");
ScambiaMatrice (A,Appoggio);
printf("\nle matrici dopo lo scambio sono:\n");
ScriviMatrice (A, "A:");
ScriviMatrice (Appoggio, "Appoggio:");
fine();
return 0;
}
void IniziaMatrice(float X[][DIM], float z)
{
int riga, col;
printf("inizializzo\n");
for (riga = 0; riga < DIM; riga++)
for (col = 0; col < DIM; col++)
X[riga][col] = z * (riga * riga+1) * (col+1);
}
void SalvaMatrice(float X[][DIM], float Y[][DIM])
{
int i, j;
for (i = 0; i < DIM; i++)
for (j = 0; j < DIM; j++)
X[i][j] = Y[i][j];
}
void ScriviMatrice(float X[][DIM], char *nome)
{
int riga,col;
printf("%s\n", nome);
for (riga = 0; riga < DIM; riga++) {
printf("\t\t|" );
for (col = 0; col < DIM; col++)
printf("%7.1f", X[riga][col]);
printf("|\n");
}
}
void ScambiaMatrice(float X[][DIM], float Y[][DIM])
{
int riga, col;
for (riga = 0; riga < DIM; riga++)
for (col = 0; col < DIM; col++)
X[riga][col] = Y[col][riga];
}
void fine(void)
{
printf("\ninvio per continuare");
while (getchar() !='\n');
}