Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    31

    [C++]Passaggio array ad un procedura.

    codice:
    #include <cstdlib>
    #include <iostream>
    #include <string.h>
    #include <stdio.h>
    #define N 20
    
    using namespace std;
    
    //const int N = 20;
    //const char *path = "dati.txt";
    int vt[N], i;
    
    
    void load_file(int vt[]);
    
    
    int main(int argc, char *argv[]) {
    
        
        cout << "prova";
        
        load_file(vt);
        
        for (i = 0; i <= N; i++) {
            cout << vt[i] << endl;
        }
        
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    void load_file(int vt[]) {
        FILE* f;
        string row;
        int err;
        
        f = fopen("dati.txt", "r");
        
        i = 0;
        while (!feof(f)) {
            fscanf(f, "%d", vt[i]);
            i++;
        }
        
        fclose(f);
    }
    Salve, ho un problema con questo listato (a dire la verità con gli array e i file in generale). Praticamente il compilatore (wxDev-C++) questo me lo compila, solo che quando vado ad eseguirlo, arriva fino a stampare prova e poi, al momento di richiamare la funzione, si blocca e mi esce un errore di windows (quello con inviare e non inviare).
    Sapreste dirmi dov'è il problema?

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381

    Re: [C++]Passaggio array ad un procedura.

    Sfori l'array.
    Il range ammesso è da 0 a N -1 (evidenziato dal segno minore)
    codice:
        for (i = 0;i < N ; i++) {
            cout << vt[i] << endl;
        }
    (Ammesso che tu abbia solo 20 valori nel file, sennò s'inchioda prima).
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462

    Re: [C++]Passaggio array ad un procedura.

    Sapreste dirmi dov'è il problema?
    Nelle due righe corrette di seguito

    for (i = 0; i < N; i++) {

    fscanf(f, "%d", &vt[i]);
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    io cambierei anche il while come segue:

    codice:
    while (i < N && !feof(f)) {
    ...
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    31
    Funziona!
    Il che vuol dire che il passaggio dell'array alla funzione lo facevo bene.

    io cambierei anche il while come segue:

    codice:
    while (i < N && !feof(f)) {
    ...
    }
    In effetti come idea non è cattiva :P


    Grazie per le correzioni, in questo momento vi sto stimando


    P.S. Dato che devo fare altri 6-7 programmi in C++ coi file (oltre a completare questo), e dato che sicuramente troverò qualche altro problema, posso continuare ad usare questa discussione? Giusto per non aprirne di nuove.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da Whistler
    ... posso continuare ad usare questa discussione? Giusto per non aprirne di nuove.
    Non credo ... a meno che i problemi non abbiano ancora a che fare con

    "Passaggio array ad un procedura"

    altrimenti, nuova discussione, nuovo titolo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2009
    Messaggi
    31
    Originariamente inviato da oregon
    Non credo ... a meno che i problemi non abbiano ancora a che fare con

    "Passaggio array ad un procedura"

    altrimenti, nuova discussione, nuovo titolo ...
    E se ci cambio il titolo di volta in volta?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da Whistler
    E se ci cambio il titolo di volta in volta?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.