procedure sorts(var ars:tys;n1:integer); Var i,j:integer; c:string; begin for i:=1 to n1-1 do for j:=i to n1 do if ars[i]>ars[j] then begin c:=ars[i]; ars[i]:=ars[j]; ars[j]:=c; end; end; begin readln(s); j:=1; while pos(' ',s)<>0 do begin for i:=1 to pos(' ',s) do ars[j]:=ars[j]+s[i]; delete(s,1,pos(' ',s)); inc(j); end; ars[j]:=s; sorts(ars,j+1); writeln('Result='); for i:=1 to n do writeln(ars[i]); end.
Если ограничиваться только целочисленным числом суток, будет всегда получаться полные часы, а минуты и секунды будут нулевыми.
// PascalABC.NET 3.1, сборка 1172 от 19.02.2016 begin var d:=ReadReal('Количество суток')*24; var h:=Trunc(d); d:=Frac(d)*60; var m:=Trunc(d); d:=Frac(d)*60; var s:=Round(d); // преодоление ошибок неточного представления чисел в ЭВМ if s=60 then begin Inc(m); s:=0 end; if m=60 then begin Inc(h); m:=0 end; WritelnFormat('{0}ч {1}м {2}с ',h,m,s) end.
Тестовые решения: Количество суток 0.35 8ч 24м 0с
Количество суток 4 96ч 0м 0с
Количество суток 2.532 60ч 46м 5с
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку