3nigma666
24-02-2005, 21:18
devo leggere dei valori da file,il file è cosi strutturato:
quicksort
10 0.000000123 0.8000 956456
heapsort
10 0.000000345 0.987 102567
io devo leggere riga per riga i valori e memorizzarli in una variabile.
il codice deve essere ottimizzato ancora,piu ke altor mi interessava vedere se leggeva i valori e il ciclo fino alla fine del file funzionava,e invece la parte:
do{
fscanf(file,"%d %.15f %.15f %d",lung,media,campione,ripe);
std::cout<<lung<<media<<campione<<ripe;
}while (!feof(file));
mi va in loop infinito! perke?
vi allego il codice della funzione
void istogramma (int input,char * buffer,FILE *file){
std::cout<<"Lunghezza vettore: "<<input<<std::endl;
std::cout<<std::endl;
std::cout<<"Scala 1000 : 1. I valori vanno da 0 a 50 secondi"<<std::endl;
std::cout<<"QUICKSORT: ";
file = fopen("QS.txt", "r");
if( file==NULL ) {
std::cout<<"Errore in apertura del file"<<std::endl;
exit(1);
}
float tempo_letto= 0.800;
//scala
float media,campione;
int lung,ripe;
do{
fscanf(file,"%d %.15f %.15f %d",lung,media,campione,ripe);
//provo a stampare per vedere se assegna correttamente i valori
std::cout<<lung<<media<<campione<<ripe;
}while (!feof(file));
for(float k=0;k<=((50000/tempo_letto)/1000);k++)
std::cout<<"#";
std::cout<<std::endl;
int n;
std::cin>>n;
}
quicksort
10 0.000000123 0.8000 956456
heapsort
10 0.000000345 0.987 102567
io devo leggere riga per riga i valori e memorizzarli in una variabile.
il codice deve essere ottimizzato ancora,piu ke altor mi interessava vedere se leggeva i valori e il ciclo fino alla fine del file funzionava,e invece la parte:
do{
fscanf(file,"%d %.15f %.15f %d",lung,media,campione,ripe);
std::cout<<lung<<media<<campione<<ripe;
}while (!feof(file));
mi va in loop infinito! perke?
vi allego il codice della funzione
void istogramma (int input,char * buffer,FILE *file){
std::cout<<"Lunghezza vettore: "<<input<<std::endl;
std::cout<<std::endl;
std::cout<<"Scala 1000 : 1. I valori vanno da 0 a 50 secondi"<<std::endl;
std::cout<<"QUICKSORT: ";
file = fopen("QS.txt", "r");
if( file==NULL ) {
std::cout<<"Errore in apertura del file"<<std::endl;
exit(1);
}
float tempo_letto= 0.800;
//scala
float media,campione;
int lung,ripe;
do{
fscanf(file,"%d %.15f %.15f %d",lung,media,campione,ripe);
//provo a stampare per vedere se assegna correttamente i valori
std::cout<<lung<<media<<campione<<ripe;
}while (!feof(file));
for(float k=0;k<=((50000/tempo_letto)/1000);k++)
std::cout<<"#";
std::cout<<std::endl;
int n;
std::cin>>n;
}