Ho iniziato a suddividere il programma in funzioni, le quali sono contenute in una libreria... le funzioni sono:
/********************************/
/* dichiarazione delle funzioni */
/********************************/
void acquisizione(int **matrice1, int **matrice2);
int traccia();
void trasposta(int **matrice1T, int **matrice2T);
void prodotto(int **matriceP);
int massimo();
int minimo();
int medio(int);
int dev_standard();
nella prima e nella terza non so come comportarmi xche come valore di ritorno ho ben 2 matrici...il mio dubbio e sulla dischiarazione e sopratutto sul RETURN(?????);
void acquisizione()
{
int riga1, /* identificano le righe delle due matrici */
riga2;
int colonna1, /* identificano le colonne delle due matrici */
colonna2;
int esito lettura; /* LAVORO: esito lettura */
int n_rc; /* contiene il numero di righe/colonne delle matrici */
int **matrice1, /* matrice A */
**matrice2; /* matrice B */
int i, /* contatori utilizzati nel riempimento delle due matrici */
k;
FILE *a, /* variabile che identifica i file che contengono le due matrici */
*b;
char carattere_non_letto; /* LAVORO: carattere non letto */
/* acquisizione del numero di righe e colonne con VALIDAZIONE */
do
{
printf("Digita il numero ri righe che deve avere la matrice (0 < ) ");
esito_lettura = scanf("%d",
&n_rc);
if (esito_lettura != 1 || n_rc < 0)
{
do
{
carattere_non_letto = scanf("%c",
&carattere_non_letto);
}
while (carattere_non_letto != '\n');
}
} while (esito_lettura != 1 || n_rc < 0);
/* apertura dei file */
a = fopen("matrice_A.txt", "r");
b = fopen("matrice_B.txt", "r");
/* creazione e riempimento delle due matrici */
/* matrice A */
matrice1 = (int**)calloc(n_rc, sizeof(int*));
for(i = 0; i < n_rc; i++)
matrice1[i] = (int*)calloc(n_rc,sizeof(int));
for(riga1=0; riga1<n_rc; riga1++)
{
for(colonna1=0; colonna1<n_rc; colonna1++)
{
fscanf(a, "%d", &matrice1[riga1][colonna1]);
}
}
/* matrice B */
matrice2 = (int**)calloc(n_rc, sizeof(int*));
for(k = 0; k < n_rc; k++)
matrice2[k] = (int*)calloc(n_rc,sizeof(int));
for(riga2=0; riga2<n_rc; riga2++)
{
for(colonna2=0; colonna2<n_rc; colonna2++)
{
fscanf(b, "%d", &matrice2[riga2][colonna2]);
}
}
/* chiusura dei file */
fclose(a);
fclose(b);
/* stampa a video delle matrici */
printf("la matrice A è:\n");
for(riga1=0; riga1<n_rc; riga1++)
{
for(colonna1=0; colonna1<n_rc; colonna1++)
printf("%d\n ", matrice1[riga1][colonna1]);
}
printf("\n");
printf("la matrice B è:\n");
for(riga2=0; riga2<n_rc; riga2++)
{
for(colonna2=0; colonna2<n_rc; colonna2++)
printf("%d\n ", matrice2[riga2][colonna2]);
}
printf("\n");
return(COSA???);
}
per le altre ha come valore di ritorno un semplice intero quindi ci sono... e anche il prodotto xke ha un solo valore di ritorno...ma x la prima e la treza dove sono 2 non so come comportarmi...