allora il problema da speigare è semplice, già dal titolo si deduce....praticamente ho un programma per l'analisi di dati ricavati da un sondaggio....nel programma base la funzione che calcola la moda sulle risposte ottenute (da qst sondaggio) la calcola e poi stampa in forma tebellare tutti i valori per le relative risposte con affianco un istogramma formato da tante * quant'è la frequenza....ma non tiene conto dei casi di pareggio...cioè se si verificano 10 risposte per il valore 4 e 10 per il valore 6...il programma stampa 4 come moda.

il codice del programma base è questo e quindi manca il controllo dei casi di pareggio delle frequenze

codice:
void mode(int freq[], const int answer[]){
     
     int rating;
     int j;
     int h;
     
     /*contatori per controllo caso di pareggio frequenze */
     int pax, contrl;
     int max = 0;
     int pareg;
     
     int largest = 0;
     int modeValue = 0;
     
     printf("\n\n ***** MODA ***** \n");
     
     
     
     for(rating = 1; rating <= 9; rating++){
        freq[rating] = 0;
     }
     
      for(j = 0; j < SIZE; j++){
         ++freq[ answer[ j ] ];
      }
      
      
      printf("%s%11s%19s\n\n\n", "Risposta", "Frequenza", "Istogramma");

      
      for(rating = 1; rating <= 9; rating++){
         printf("%8d%11d         ", rating, freq[rating]);
      
      
      
      if(freq[rating] > largest){
         largest = freq[rating];
         modeValue = rating;
      }

      
      for(h = 1; h <= freq[rating]; h++){
         printf( "*" );
      }
      printf("\n");
      } 

      printf("\n");
      
      
         }               
      }
         
      printf("PAREGGIO = %d\n", max);
      
      printf("La moda e' il numero piu' frequente in un insieme.\n"
             "La moda in questo esercizio e' %d presente per %d volte\n\n",
             modeValue, largest);
}
qualche ideuzza for me???????? mi sto stressando