Buonasera...premetto che sono nuovo e totalmente neofita del C.
Dovrei realizzare un semplice programma che importi dei dati (solo numeri) da un file esterno, trovi gli estremi (max e min), in base al numero totale di dati presenti nel file decida quante classi di frequenza creare (con la semplice regola della radice quadrata del numero totale di dati), si determini poi l'ampiezza di ogni singola classe (max-min/num classi) e infine si deve visualizzare una sorta di istogramma numerico...del tipo: nella classe 1 ci sono 4 dati, nella classe 2 ci sono 34 dati, nella classe 3 ci sono 67 dati, nella classe x ci sono y dati...
Ora, ho scritto il codice fino alla suddivisione dei dati in classi...qui mi sono totalmente bloccato e non ho la benchè minima idea di come procedere;((
Posto il mio codice fin qui...Se qualcuno ha qualche suggerimento su come proseguire ne sarei molto grato...
PS: trattasi di esercizio
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define MAX 1000
int main(void)
{
int i;
int j;
int N;
int NClassi;
float AmpiezzaClassi;
float Dati[MAX];
float Classi[MAX];
float min;
float max;
FILE *fp;
printf("\nProgramma per realizzare un semplice istogramma numerico.\n");
fp=fopen("Dati_Istogramma.txt","r");
i=0;
N=0;
while (fscanf(fp, "%f", &Dati[i])!=EOF)
{
i++;
N++;
}
printf("Il numero totale di dati presenti nel file è: %d \n\n", N);
min=Dati[0];
max=Dati[0];
for (i=0; i<N; i++)
{
if (Dati[i]<=min)
{
min=Dati[i];
}
else if (Dati[i]>=max)
{
max=Dati[i];
}
}
printf("Gli estremi del set di dati sono: %f e %f.\n", min, max);
printf("Il numero di classi di frequenza sarà automaticamente generato dal sistema utilizzando la radice quadrata del numero totale di dati\n");
NClassi=sqrt(N);
printf("Il numero di classi di frequenza è: %d\n", NClassi);
AmpiezzaClassi=(max-min)/NClassi;
printf("L'ampiezza di ogni singola classe è dunque: %f\n", AmpiezzaClassi);
}