Es input/output file

di il
1 risposte

Es input/output file

L'esercizio è il seguente:
Si consideri il file disponibile qui: , che contiene 5 valori interi per ogni riga.
Scrivere un programma in grado di leggere il suddetto file e di calcolare e stampare su
schermo per ogni riga la somma dei valori contenuti nella riga stessa


io ho pensato di mettere i valori in un vettore ma ovviamente il tentativo è fallito per errore mio... il proprema è che non so come aggiustare il codice per lacune... qualcuno avrebbe qualche suggerimento?
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main()
{
    cout << "inserisci il nome del file : " << endl;
    string name = " ";
    cin >> name ;
    ifstream filename("name");
    if (!filename.is_open())
    {
        cerr << "Errore nell'apertura del file. Controlla!" << endl;
        return 1;
    }
    int sum = 0;
    vector<double> num;
    while (!filename.eof())
    {
        for(int i=0; i<5; i++)
        {
           filename >> num
           cout << num(i) << endl;
           sum += num(i);
        }
        cout << "La somma per ogni riga è pari a : " << sum << endl;
    }
    return 0;
}
In anticipo grazie mille dell'attenzione

1 Risposte

  • Re: Es input/output file

    Intanto, quando utilizzi una variabile per il percorso e il nome del file, va inserita senza " " (virgolette) altrimenti non stai utilizzando una variabile ma una costante
    
    ifstream filename(name);
    
    Poi, l'esercizio non dice di memorizzare i valori ma solo di sommarli quindi il vector non ti serve. Usa la variabile sum per calcolare la somma di ogni riga, azzerandola all'inizio di ogni riga.
    
        int sum, num;
        while (!filename.eof())
        {
            sum = 0;
            for (int i = 0; i < 5; i++)
            {
                filename >> num;                
                sum += num;
            }
            cout << "La somma e' : " << sum << endl;
        }
    
Devi accedere o registrarti per scrivere nel forum
1 risposte