verloc
12-02-2003, 19:12
Come potrei usare qualcosa del genere
nella funzione PrintParete?
Parete[i][j]
Perchè ho necessità di scrivere codice nelle iterazioni a seconda che i e j siano pari o dispari
in diverse combinazioni.
Ho fatto diversi tentativi ma non vanno.
Vi allego l'esempio che itera usando gli "Iteratori"
//--------------------------------------------------
typedef vector<CPannello> vStriscia;
typedef vector<vStriscia> vParete;
//-------------------------------------------------
//funzione di test
//Stampa l'altezza di ogni pannello striscia per striscia
//chiamando il metodo ::GetH per ogni pannello
void PrintParete(vParete &Parete);
void PrintParete(vParete &Parete)
{
vParete::iterator i;
vStriscia::iterator j;
cout.setf(ios_base::left);
for(i=Parete.begin();i<Parete.end();i++)
{
cout.width(10);
cout<<"Striscia ";
for(j=(*i).begin();j<(*i).end();j++)
{
cout.width(10);
cout<< (*j).GetH()<<" ";
}
cout<<endl;
}
}
nella funzione PrintParete?
Parete[i][j]
Perchè ho necessità di scrivere codice nelle iterazioni a seconda che i e j siano pari o dispari
in diverse combinazioni.
Ho fatto diversi tentativi ma non vanno.
Vi allego l'esempio che itera usando gli "Iteratori"
//--------------------------------------------------
typedef vector<CPannello> vStriscia;
typedef vector<vStriscia> vParete;
//-------------------------------------------------
//funzione di test
//Stampa l'altezza di ogni pannello striscia per striscia
//chiamando il metodo ::GetH per ogni pannello
void PrintParete(vParete &Parete);
void PrintParete(vParete &Parete)
{
vParete::iterator i;
vStriscia::iterator j;
cout.setf(ios_base::left);
for(i=Parete.begin();i<Parete.end();i++)
{
cout.width(10);
cout<<"Striscia ";
for(j=(*i).begin();j<(*i).end();j++)
{
cout.width(10);
cout<< (*j).GetH()<<" ";
}
cout<<endl;
}
}