Найти сумму длин самой короткой и k-й от конца файла строк.
// PascalABC.NET 3.0, сборка 1128
begin
var k:=ReadInteger(Укажите номер записи k:);
var a:=ReadLines(T1.txt).Select(x->Length(x)).
Where(x->x<>0).ToArray;
var n:=a.Length;
if k>n then Writeln(В файле записей меньше, чем ,k)
else Writeln(Сумма равна ,a.Min+a[n-k+1])
end.
А теперь "школьный вариант"
// PascalABC.NET 3.0, сборка 1128
var
t:text;
min,l,m,n,k:integer;
s:string;
begin
k:=2; // вторая от конца запись
Assign(t,T1.txt); Reset(t);
min:=1000; m:=0;
while not Eof(t) do begin
ReadLn(t,s); Inc(m);
l:=Length(s);
if (l>0) and (l
Close(t); Reset(t);
k:=m-k+1;
if k<1 then Writeln(В файле нет стольких строк)
else begin
m:=0;
while m<>k do begin Readln(t,s); Inc(m) end;
Writeln(Сумма равна ,min+Length(s))
end;
Close(t)
end.
