ndakota
05-04-2007, 19:34
salve a tutti in un pdf che mi ha dato il prof c'era questo esercizio:Leggere da un file di testo “dati.txt” una sequenza
di numeri interi di al più 100 elementi finché non si
trova il primo elemento uguale a 0 (si ipotizza che
un elemento uguale a 0 esista). Memorizzare tutti
i numeri (escluso lo 0) in un vettore.
e risoluzione:
main() {
int vett[100], temp, i;
FILE *puntf;
puntf = fopen("dati.txt","r"); /* Attenzione al percorso */
if (puntf==NULL) printf("Errore di apertura file\n");
else {
i=0; /* Differenza fra primo elemento e altri */
fscanf(puntf, "%d", &temp);
while (temp!=0) {
vett[i]=temp;
fscanf(puntf, "%d", &temp);
i++;
}
fclose(puntf);
}
}
ma copiandolo uguale c'è qualcosa che non va perchè la fienstra si apre e si chiude subito anche se c'è una getch().
e poi mi chiedo ma io nel file che devo inseire i numeri per far capire che sono interi diversi cosa devo fare? separarli da spazio? sennò come?
di numeri interi di al più 100 elementi finché non si
trova il primo elemento uguale a 0 (si ipotizza che
un elemento uguale a 0 esista). Memorizzare tutti
i numeri (escluso lo 0) in un vettore.
e risoluzione:
main() {
int vett[100], temp, i;
FILE *puntf;
puntf = fopen("dati.txt","r"); /* Attenzione al percorso */
if (puntf==NULL) printf("Errore di apertura file\n");
else {
i=0; /* Differenza fra primo elemento e altri */
fscanf(puntf, "%d", &temp);
while (temp!=0) {
vett[i]=temp;
fscanf(puntf, "%d", &temp);
i++;
}
fclose(puntf);
}
}
ma copiandolo uguale c'è qualcosa che non va perchè la fienstra si apre e si chiude subito anche se c'è una getch().
e poi mi chiedo ma io nel file che devo inseire i numeri per far capire che sono interi diversi cosa devo fare? separarli da spazio? sennò come?