A cosa ti serve sapere che sei alla fine della linea? Usa normalmente l'operatore >> per estrarre i primi due interi, quindi, sempre con lo stesso operatore, ripetendo l'estrazione in base ai dati appena acquisiti, acquisisci i due insiemi di numeri.
codice:#include <iostream> #include <fstream> #include <new> using namespace std; int main() { int m, k; int *a, *b; ifstream is; is.open("test.txt"); if(is.fail()) { cerr<<"Impossibile aprire il file."; return 1; } is>>m>>k; if(is.fail()) { cerr<<"Errore durante la lettura del file."; return 2; } a = new int[m]; b = new int[k]; for(int c=0; c<m; c++) { is>>a[c]; if(is.fail()) { cerr<<"Errore durante la lettura del file."; return 3; } } for(int c=0; c<k; c++) { is>>b[c]; if(is.fail()) { cerr<<"Errore durante la lettura del file."; return 4; } } is.close(); cout<<"m: "<<m<<" k: "<<k<<"\nA:"; for(int c=0; c<m; c++) cout<<" "<<a[c]; cout<<"\nB:"; for(int c=0; c<k; c++) cout<<" "<<b[c]; delete [] a; delete [] b; cin.ignore(); return 0; }

Rispondi quotando