Ok,l' ho sistemato poi.
Non era così facile come pensavo,bisognava mettere a 1 tutta la porzione dell' array che va da [(ptr[i].data[1]-oggi[1])*2] a [(ptr[i].data[5]-oggi[1])*2] nel caso la nota abbia la targa 'I' e nel caso abbia la targa 'R' aumentare di 1 la dimensione.Così mi attiva tutti i bit compresi tra l' ora di fine e di inizio.
codice:
for(i=0;i<num;i++)
{
if((ptr[i].data[0]==oggi[0]||ptr[i].data[4]==oggi[0])&&((ptr[i].data[1]>=oggi[1]&&ptr[i].data[1]<=oggi[1]+7)
||(ptr[i].data[5]>=oggi[1]&&ptr[i].data[5]<=oggi[1]+7)))
{
if(ptr[i].targa=='I')
{
int j=ptr[i].data[1];
while(j<ptr[i].data[5])
{
int k=(ptr[i].data[1]-oggi[1])*2;
while(k<=(ptr[i].data[5]-oggi[1])*2)
{
flag[j][k]=true;
k+=2;
}
j++;
}
}
else if(ptr[i].targa=='R')
{
int j=ptr[i].data[2];
while(j<=ptr[i].data[6])
{
int k=((ptr[i].data[1]-oggi[1])*2)+1;
while(k<=((ptr[i].data[5]-oggi[1])*2)+1)
{
flag[j][k]=true;
k+=2;
}
j++;
}
}
else if(ptr[i].targa=='M')
flag[0][(ptr[i].data[1]-oggi[1])]=true;
else
flag[0][(ptr[i].data[1]-oggi[1]+1)]=true;
}
}