Svi mobilni operateri u Hrvatskoj pružaju mogućnost ispisa poziva.
Zadan je niz poziva i potrebno je izračunati ukupnu duljinu svih razgovora.
Ulazni podaci
Ulazni podaci se učitavaju s tipkovnice. U prvom retku se nalazi jedan prirodan broj N (1 ? N ? 70,000), broj poziva. U svakom od slijedećih N redaka se nalazi opis jednog poziva u slijedećem formatu: h:m:s,h:m:s. To znači da je vrijeme početka i kraja razgovora odlijeljeno znakom ',' (zarez), a svako vrijeme je dano sa brojem sati, minuta i sekunda koji su međusobno odvojeni znakom ':' (dvotočka). Vrijeme je dano u standardnoj europskoj notaciji: broj sati je od 0 do 23, broj minuta i sekundi je od 0 do 59.
Napomena: najduže moguće trajanje razgovora je jedan cijeli dan, a najkraće jedna sekunda.
Izlazni podaci
Rješenje treba ispisati na zaslon. U prvi i jedini redak treba ispisati traženo vrijeme iz teksta zadatka u formatu: d:h:m:s. Znači, broj dana, sati, minuta i sekunda treba odvojiti znakom ':'. Ispis mora biti napravljen u najboljem mogućem obliku. To znači, broj minuta i sekunda ne smije biti veći od 59, broj sati ne smije biti veći od 23. Također, broj sati, minuta i sekunda treba imati striktno dvije znamenke, što znači da treba, po potrebi, dodati određeni broj znakova '0', na početak broja. Isto tako, ako je broj dana jednak nuli, taj dio uopće ne treba ispisivati.
A evo kako sam ja poceo brljat:
program pozivi;
uses crt;
var br,n,x,z:integer;
vrijeme:string;
Hp,Mp,Sp,Hk,Mk,Sk,trajanjeukH,
trajanjeukM,trajanjeukS:array [1..20] of string;
trajanjeH,trajanjeM,trajanjeS:array [1..20] of string;
begin
readln(n);
readln(vrijeme);
for x:=1 to n do
begin
z:=pos(':',vrijeme);
Hp[x]:=copy(vrijeme,1,z-1);
delete(vrijeme,1,z);
z:=pos(':',vrijeme);
Mp[x]:=copy(vrijeme,1,z-1);
delete(vrijeme,1,z);
z:=pos(',',vrijeme);
Sp[x]:=copy(vrijeme,1,z-1);
delete(vrijeme,1,z);
z:=pos(':',vrijeme);
Hk[x]:=copy(vrijeme,1,z-1);
delete(vrijeme,1,z);
z:=pos(':',vrijeme);
Mk[x]:=copy(vrijeme,1,z-1);
delete(vrijeme,1,z);
Sk[x]:=vrijeme;
end;
for x:=1 to n do
begin
trajanjeH[x]:=Hk-Hp; //sad ne mogu ovo napravit jer su Hk i Hp string a ne integer
trajanjeM[x]:=Mk-Mp;
trajanjeS[x]:=Sk-Sp;
end;
br:=0;
repeat
br:=br+1;
trajanjeukH:=trajanjeukH+trajanjeH[br];
trajanjeukM:=trajanjeukM+trajanjeM[br];
trajanjeukS:=trajanjeukS+trajanjeS[br];
until br=n;
clrscr;
writeln('Ukupno: ',trajanjeukH,':',trajanjeukM,':',trajanjeukS);
readln;
end.
Svaka je pomoc dobro dosla, znaci zanima me kako pretvorit onaj string u integer kako bi mogao oduzet trajanje......a na kraju cu odredit da minuta ima do 59
sekundi........

