Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: Subtitrare  (Citit de 17936 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
horatiu11
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 11



Vezi Profilul
« : Noiembrie 13, 2012, 23:27:58 »

Am o problema la problema subtitrare de pe campion. Iau doar 20 de puncte si nu prea stiu de ce. Imi da wrong cu toate ca imi afiseaza bine. Cred ca e ceva datorita tipului double, dar nu sunt sigur.
Asa am gandit.

Cod:
# include <fstream>
# include <cstring>
# include <cstdlib>
using namespace std;
ifstream f("subtitrare.in");
ofstream g("subtitrare.out");
int n,nant;
double hh,mm,ss,fff,nr;
char srt[101],sir[101],c,sirant[101];
int main()
{
    while(f>>n)
    {
        if(n==nant)break;f.get();
        f.getline(srt,101);
        hh=atof(srt);
        mm=atof(srt+3);
        ss=atof(srt+6);
        fff=atof(srt+9);
        nr=hh*3600+mm*60+ss+fff/1000;
        nr*=25; nr=(int)nr;
        g<<'{'<<nr<<'}';
        hh=atof(srt+17);
        mm=atof(srt+20);
        ss=atof(srt+23);
        fff=atof(srt+26);
        nr=hh*3600+mm*60+ss+fff/1000;
        nr*=25; nr=(int)nr;
        g<<'{'<<nr<<'}';
        f.getline(sir,101);strcpy(sirant,sir);
        while(f.getline(sir,101))
        {
            if(sir[0]=='\0')
            {
                g<<sirant<<'\n';
                break;
            }
            else g<<sirant<<'|',strcpy(sirant,sir);
        }
        nant=n;
    }
    g<<sirant<<'\n';
    return 0;

Editat de admin: Foloseste tagul "code" cand postezi surse.
« Ultima modificare: Noiembrie 14, 2012, 00:44:42 de către Andrei Grigorean » Memorat
Steve
Client obisnuit
**

Karma: 36
Deconectat Deconectat

Mesaje: 72



Vezi Profilul
« Răspunde #1 : Noiembrie 14, 2012, 13:33:05 »

Testul:

Cod:
1
14:34:51,999 --> 15:44:12,999
Am gasit bug-ul.
Cand afisezi, baga g << "{" << ((int) nr) << "}";

Speaks for itself. wink
Memorat
horatiu11
Strain


Karma: 1
Deconectat Deconectat

Mesaje: 11



Vezi Profilul
« Răspunde #2 : Noiembrie 14, 2012, 19:25:21 »

Ai dreptate. Era gresit acolo. Insa tot 20 de puncte iau si asa. O fi ceva in neregula cu compilatorul? Mi-a mai facut la cateva probleme asa.(de exemplu la o problema imi afisa ce trebuie insa era considerat tot wrong)
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines