rendered paste body#include <iostream>
#include <fstream>
#include <cstdlib>
using namespace std;
void leggi(int P[],int dimP, int &lettiP, int T[],int dimT, int &lettiT, int &dim0, int &dim1, int &dim2)
{
try
{
bool sentinella;
ifstream IN("input");
if(!IN) throw(1);
sentinella=false;
int x,y;
IN>>x;
for(int i=0; i<dimP && !sentinella; i++)
{
if(x!="-1")
{
P[i]=x;
IN>>x;
}
else if(i==(dimP-1)) P[i]=x;
else
{
IN>>y;
if(y!="-1")
{
P[i]=x;
P[i+1]=y;
i++;
}
else sentinella=true;
}
lettiP=i;
}
IN>>dim0;
IN>>dim1;
IN>>dim2;
if((dim0*dim1*dim2)>=dimT) throw(2);
sentinella=false;
int k,z;
IN>>z;
for(int i=0; i<(dim0*dim1*dim2) && !sentinella; i++)
{
if(z!="-1")
{
T[i]=z;
IN>>z;
}
else
{
IN>>k;
if(k!="-1")
{
T[i]=z;
T[i+1]=k;
i++;
}
else sentinella=true;
}
lettiT=i;
}
}
catch(int error)
{
if(error==1) cout<<"problemi con il file di input"<<endl;
else
{
OUT << "-2" << " ";
// QUI DOVREI TERMINARE IL PROG SE QUESTA ECCEZIONE VIENE LANCIATA
}
}
}
int main()
{
int dimensioneP=10, dimensioneT=500;
int P[dimensioneP], T[dimensioneT];
int LettiInP, LettiInT, matrici, righe, colonne;
ofstream OUT("output");
leggi(&P[0], dimensioneP, LettiInP, &T[0], dimensioneT, LettiInT, matrici, righe, colonne);
OUT << LettiInP <<" "<< matrici <<" "<< righe <<" "<< colonne <<" "<< LettiInT;
}