Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: C/C++ matrici da file

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    140

    C/C++ matrici da file

    questo è il codice che uso per leggere una array di interi da file


    #include <iostream.h>
    #include <stdlib.h>
    #include <fstream.h>
    int main()
    { int array1[10];
    int i=0;
    fstream miofile;
    miofile.open("miofile.txt", ios::in);
    while ( miofile >> array1[i] ){
    cout << array1[i] <<endl;
    i++; }

    system("PAUSE");
    return 0;
    }



    ora, dovrei impostare questo programmino con le funzioni.. senza fare tutto nel main... dunque come lo impostereste?

    Inoltre un programma che legge da due file distinti txt due matrici e stampi la somma di queste a video... scritto con una sintassi simile a quella di cui sopra... usando le funzioni..schematicamente quante funzioni dovrei usare? volendo fare ripeto tutto con le funzioni, riducendo molto il main..almeno l'impostazione potreste suggerirmela?

    ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    140
    up

  3. #3
    potresti usare 2 funzioni:
    riempi_array(*array)
    e
    stampa_array(*array)

    naturalmente non c'e' una regola fissa per dividere in funzioni..
    la decidi tu.
    P.s. credo sia meglio usare le procedure(devi passare un array..)

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    140
    beh un esempio?...nn so come impostarlo

  5. #5
    riempi_array(int array[10]){
    fstream miofile;
    miofile.open("miofile.txt", ios::in);
    for (i=0;i<10;i++)
    miofile>>array[i];
    }
    l'altra funzione la lascio a te..

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    140
    stampa_array(int array[10]){
    fstream miofile;
    miofile.open("miofile.txt", ios:ut);
    for (i=0;i<10;i++)
    miofile<<array[i];
    miofile.close();
    }


    si deve chiudere il file giusto?


    dunque ora implementando queste due funzioni in definitiva il codice com'è? Non mi è chiaro il passaggio di parametri nel caso vi siano dei file.


    grazie mille

  7. #7
    la funzione stampa_array(int array[10])
    dovra' solo stampare il contenuto del vettore:
    codice:
    stampa_array(int array[10]){ 
    for (int i=0;i<10;i++) 
    cout<<array[i]<<endl; 
    }
    il main conterra':
    codice:
    #include <iostream.h> 
    #include <stdlib.h> 
    #include <fstream.h> 
    int main() 
    {
    int array1[10]; 
    riempi_array(array);
    stampa_array(array);
    system("PAUSE"); 
    return 0; 
    }
    P.S. errata corrige
    codice:
    riempi_array(int array[10]){ 
    fstream miofile; 
    miofile.open("miofile.txt", ios::in); 
    for (int i=0;i<10;i++) 
    miofile>>array[i]; 
    miofile.close();
    }
    e' buona norma chiudere il file..

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    140
    codice:
    #include <iostream.h> 
    #include <stdlib.h> 
    #include <fstream.h> 
    int main() 
    {
    int array1[10]; 
    riempi_array(array);
    stampa_array(array);
    system("PAUSE"); 
    return 0; 
    }
    [/QUOTE]


    perchè alle funzioni dai come parametro array e non array1?

    cmq questo codice che ho un pò modificato da alcuni errori



    codice:
    #include <iostream.h> 
    #include <stdlib.h> 
    #include <fstream.h>
    int riempi_array( int array[]);
    void stampa_array (int array[]);
     
    int main() 
    {
    int array[10];
    riempi_array(array[]);
    stampa_array(array[]);
    system("PAUSE"); 
    return 0; 
    } 
    int riempi_array(int array[10]){ 
    fstream miofile; 
    miofile.open("miofile.txt", ios::in); 
    for (int i=0;i<10;i++) 
    miofile>>array[i]; 
    miofile.close();
    return array[i];
    } 
    
    void stampa_array(int array[10]){ 
    for (int i=0;i<10;i++) 
    cout<<array[i]<<endl; 
    
    }


    mi sa che sbaglio nel passaggio dei parametri...

    fammi sapere, ciao

  9. #9
    errore di copia incolla
    comunque basta passare il nome dell' array
    poiche array
    equivale a *array[0];
    quindi
    riempi_array(array);
    stampa_array(array);

    PS:
    ricordati che array[]
    equivale a *array

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    140
    si ma quel codice da errore...


    se hai un pò di tempo dacci un'occhiata

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 © 2025 vBulletin Solutions, Inc. All rights reserved.