Text processing/1: Difference between revisions

(→‎{{header|Kotlin}}: Re-ran program following recovery and mirroring of full data file.)
Line 246:
text bad_day, worst_day;
 
f_affix(f, "/dev/.stdin");
 
max_bads = count = bads = s = 0;
count = 0;
bads = 0;
s = 0;
 
while (f_list(f, .list(l, 0) ^ -1) {
integer e, i;
 
i = 2;
while (i < 49) {
e = atoi(l_q_text(l, [i)]);
if (0 < e) {
count += 1;
s += atof(l_q_text(l, [i - 1)]);
if (max_bads < bads) {
max_bads = bads;
worst_day = bad_day;
}
bads = 0;
} else {
if (!bads) {
bad_day = l_q_text(l, [0)];
}
bads += 1;
}
}
i += 2;
}
}
 
o_texto_form("Averaged /d3/ over ~ readings.\n", s / count, count);
o_("Longest bad run ", max_bads, ", started ", worst_day, ".\n");</lang>
o_real(3, s / count);
o_text(" over ");
o_integer(count);
o_text(" readings.\n");
 
o_text("Longest bad run ");
o_integer(max_bads);
o_text(", started ");
o_text(worst_day);
o_text(".\n");</lang>
Run as:
<pre>cat readings.txt | tr -d \\r | aime SOURCE_FILE</pre>
Anonymous user