Salut!Am urmatoarea problema:
http://campion.edu.ro/arhiva/index.php?page=problem&action=view&id=1398Problema e relativ simpla,dar sursa mea ia doar 20p.Dupa ce am verificat primul test la care da un raspuns incorect am observat ca greseala e la timpul in care incepe frame-ul si cel in care se termina la una din sectiuni.Acesta e mai mic cu 1 fata de raspunsul pe care il dau iei.
Pentru urmatoarea sectiune:
73
00:10:30,680 --> 00:10:31,680
Doctor, forgive me.
Mie imi da:
{15767}{15792}Doctor, forgive me.
Iar lor le da:
{15766}{15791}Doctor, forgive me.
Nu inteleg de ce lor le da asa pt ca: (10*60+30+0.680)*25=630.68*25=15767 exact rezultatul meu(puteti verifica).
Apropo nu am vazut pe nimeni inafara de autoare sa ia 100p in cpp doar in pascal s-au mai luat 100p.
Credeti ca sunt testele gresite sau care e problema?
Aici e sursa mea:
#include<cstdio>
using namespace std;
int n,nr;
int t1,t2;
int sum;
char s[256];
int main(){
char a,b,c,d,e;
freopen("subtitrare.in","r",stdin);
freopen("subtitrare.out","w",stdout);
while(!feof(stdin)){
t1=t2=sum=0;
scanf("%d\n",&n);
scanf("%c%c%c",&a,&b,&c);
t1+=3600*((a-'0')*10+(b-'0'));
scanf("%c%c%c",&a,&b,&c);
t1+=60*((a-'0')*10+(b-'0'));
scanf("%c%c%c",&a,&b,&c);
t1+=(a-'0')*10+(b-'0');
scanf("%c%c%c",&a,&b,&c);
sum=(a-'0')*100+(b-'0')*10+(c-'0');
sum*=25;sum/=1000;
t1*=25;t1+=sum;sum=0;
scanf("%c%c%c%c%c",&a,&b,&c,&d,&e);
scanf("%c%c%c",&a,&b,&c);
t2+=3600*((a-'0')*10+(b-'0'));
scanf("%c%c%c",&a,&b,&c);
t2+=60*((a-'0')*10+(b-'0'));
scanf("%c%c%c",&a,&b,&c);
t2+=(a-'0')*10+(b-'0');
scanf("%c%c%c\n",&a,&b,&c);
sum=(a-'0')*100+(b-'0')*10+(c-'0');
sum*=25;sum/=1000;
t2*=25;t2+=sum;
printf("{%d}{%d}",t1,t2);
nr=0;
while(!feof(stdin)){
scanf("%c",&c);
if(c>='0' && c<='9'){
ungetc(c,stdin);
break;}
else if(c!=' '){
nr++;
ungetc(c,stdin);
gets(s);
scanf("\n");
if(nr>=2)
printf("|");
printf("%s",s);
}
else if(c==' ')
continue;
}
printf("\n");
}
fclose(stdin);
fclose(stdout);
return 0;
}
Multumesc