Ciao a tutti,
ho un problema con un file di testo e un ciclo for.
Praticamente dovrei leggere un file.txt. Da questo file, per ogni gruppo di 10 righe dovrei eseguire alcune operazioni. Il problema è che il mio gruppo di 10 righe dovrebbe essere scalato man mano dal file.txt di una riga per volta. Ad esempio: all'inizio prendo le prime 10 righe e faccio le mie operazioni (quindi ho dalla riga 1 alla 10); poi scalo alla riga 2 e considero altro gruppo di 10 righe (dalla 2 alla 11), e così via....
Ho impostato il mio codice, solo che non riesco a far coincidere l'incremento del ciclo for con la riga del file.txt. Ho provato con la funzone seekg(0, ios::beg), ma non saprei come gestirla all'interno del for.
Potreste gentilmente darmi un aiuto??
Grazie
#include <fstream>
#include <iostream>
#include <string>
#include <stdlib.h>
#include <iomanip>
#include <math.h>
#include <algorithm>
#include <vector>
using namespace std;
ifstream leggi ("file.txt");
int main()
{
if (!leggi) {cout<<"\n Impossibile aprire il file.txt "<<endl; return 1;}
double giuliano, RMS;
string data;
double indice, media;
double somma;
int entrate;
int ruler=10;
int a = 1;
int b = 100;
cout << "ruler = " << ruler << endl;
/*leggi.clear();
leggi.seekg(0, ios::beg); // serve per far ripartire il file.txt dall'inizio
for (int j = 1; j <= 0; j++)
{leggi >> giuliano>> RMS>> data;}*/
// inizio giorno 1
for (int j = a; j <= b; j++) // loop sulle righe del file.txt che mi interessano
{
cout << "j = " << j << endl;
somma=0;
media=0;
entrate=0;
int i=1;
while (i<=ruler)
{
leggi >> giuliano>> RMS>> data;
{cout<<"\n" << " "<<i<<" "<<fixed<<setprecision(3)<<RMS;
somma += RMS;}
i++;
}
entrate=i-1;
media=somma/entrate;
cout<<"\n somma = "<<somma<<" "<<" entrate = "<<entrate<<endl;
cout<<"\n entrate = "<<i-1<<endl;
cout<<"\n Media = "<<media<<endl;
}
cout<<endl<<endl;
// fine giorno 1
return 0;
}