Text processing/Max licenses in use: Difference between revisions
Content added Content deleted
(→{{header|Euphoria}}: Euphoria example added) |
(Add Seed7 example) |
||
Line 1,526: | Line 1,526: | ||
2008/10/03_08:39:34 |
2008/10/03_08:39:34 |
||
2008/10/03_08:40:40 |
2008/10/03_08:40:40 |
||
</pre> |
|||
=={{header|Seed7}}== |
|||
<lang seed7>$ include "seed7_05.s7i"; |
|||
const proc: main is func |
|||
local |
|||
var file: inFile is STD_NULL; |
|||
var string: line is ""; |
|||
var integer: currLicenses is 0; |
|||
var integer: maxLicenses is 0; |
|||
var array string: maxLicenseTimes is 0 times ""; |
|||
var string: eventTime is ""; |
|||
begin |
|||
inFile := open("mlijobs.txt", "r"); |
|||
while hasNext(inFile) do |
|||
line := getln(inFile); |
|||
if line[9 len 3] = "OUT" then |
|||
incr(currLicenses); |
|||
if currLicenses >= maxLicenses then |
|||
if currLicenses > maxLicenses then |
|||
maxLicenses := currLicenses; |
|||
maxLicenseTimes := 0 times ""; |
|||
end if; |
|||
maxLicenseTimes &:= line[15 len 19]; |
|||
end if; |
|||
elsif currLicenses > 0 then |
|||
decr(currLicenses); |
|||
end if; |
|||
end while; |
|||
close(inFile); |
|||
writeln("Maximum simultaneous license use is " <& maxLicenses <& " at the following times:"); |
|||
for eventTime range maxLicenseTimes do |
|||
writeln(eventTime); |
|||
end for; |
|||
end func;</lang> |
|||
Output: |
|||
<pre> |
|||
Maximum simultaneous license use is 99 at the following times: |
|||
2008/10/03_08:39:34 |
|||
2008/10/03_08:40:40 |
|||
</pre> |
</pre> |
||