hi, this is something i really don't see where the problem might be.
std::vector <LCDRange *>::iterator it;
LCDRange *l;
for (it=vec->begin();it!=ve c->end();it++) { //is executed N times
l=*(it);
....
l->p_doba->vycet_doby(t );
}
first i add "15,31,Dovolena " to l->p_doba->SDoby. next loop i add
"15,31,Nemo c", 3rd time i add "15,31,Svat ek".
vycet_doby function goes like this:
std::map<SD,std ::string>::iter ator itd;
int a,b; SD s;
vec_prace=new vecSD;
vec_weekendu=ne w vecSD;
vec_svatku=new vecSD;
vec_nemoci=new vecSD;
vec_dovolene=ne w vecSD;
for (itd = SDoby.begin(); itd != SDoby.end(); itd++)
{ s=itd->first;
a=s.vrat_from() ;
b=s.vrat_to();
std::cout << a << "-" << b << ":" << itd->second << std::endl;
....}
this, however, outputs:
15-31:Dovolena
15-31:Nemoc
15-31:Svatek
15-31:Dovolena
15-31:Nemoc
15-31:Svatek
15-31:Dovolena
15-31:Nemoc
15-31:Svatek
N times (3 times in this case). i thought it should output only once for
each l->p_doba->SDoby. do you get my point?
std::vector <LCDRange *>::iterator it;
LCDRange *l;
for (it=vec->begin();it!=ve c->end();it++) { //is executed N times
l=*(it);
....
l->p_doba->vycet_doby(t );
}
first i add "15,31,Dovolena " to l->p_doba->SDoby. next loop i add
"15,31,Nemo c", 3rd time i add "15,31,Svat ek".
vycet_doby function goes like this:
std::map<SD,std ::string>::iter ator itd;
int a,b; SD s;
vec_prace=new vecSD;
vec_weekendu=ne w vecSD;
vec_svatku=new vecSD;
vec_nemoci=new vecSD;
vec_dovolene=ne w vecSD;
for (itd = SDoby.begin(); itd != SDoby.end(); itd++)
{ s=itd->first;
a=s.vrat_from() ;
b=s.vrat_to();
std::cout << a << "-" << b << ":" << itd->second << std::endl;
....}
this, however, outputs:
15-31:Dovolena
15-31:Nemoc
15-31:Svatek
15-31:Dovolena
15-31:Nemoc
15-31:Svatek
15-31:Dovolena
15-31:Nemoc
15-31:Svatek
N times (3 times in this case). i thought it should output only once for
each l->p_doba->SDoby. do you get my point?
Comment