[C] Troncamento parte frazionaria

di Anonimizzato8301 il
1 risposte
Salve,
sono Francesco.
Mi complimento per il forum, in questo giorni mi è stato di grande aiuto.
Vi posto questa parte di codice che mi sta facendo impazzire.
Nel calcolare il valore medio dela matrice, nel risutato mi tronca le cifre dopo la virgola, assegnando tutti '0'.
Es.:
invece di 3,456
stampa 3,000

Ciao

void valoreMedio(int **mat1,int **mat2, int ord1, int ord2)
{
  int i,
    j;
  double medio; 
  double medio2;
  int somma;
  int somma2;
  int tot_elem1 = 0;
  int tot_elem2 = 0;
  
  tot_elem1 = ord1*ord1;
  for (i=0; i<ord1; i++)
    for(j=0; j<ord1; j++)
      {
	somma += mat1[i][j];
	medio = somma/(tot_elem1);
      }
  
  tot_elem2 = ord2*ord2;
  for (i=0; i<ord2; i++)
    for(j=0; j<ord2; j++)
      {
	somma2 += mat2[i][j];
	medio2 = somma2/(tot_elem2);
      }
  
  printf("\nIl valore medio della matrice A è: %f\n", medio);
  printf("\nIl valore medio della matrice A è: %f\n", medio2);
  
}

1 Risposte

  • 
    medio = (double) somma/tot_elem;
    
    è sufficiente convertire un solo operando
Devi accedere o registrarti per scrivere nel forum
1 risposte