Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Строки

Автор: nblazhko 10.06.2008 17:56

Помогите плиз,
Имеется текстовый файл. напечатать первую из самых длинных строк. добавить строку в конец файла
Пробовал так:


program Project2;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
t:textfile;
i,j: integer;
st,m,kk,ll:string;
begin
assignfile(t, 'str.txt');
reset(t);
while not EOF(t) do
begin
readln(t,st);
end;
for i:=1 to length(st) do
for j:=i+1 to length(st) do
if length(st[i])>length(st[j]) then m:=st[i];


Writeln(' ',m);
Writeln('Dobavnena v konec fayla(posmotrite fayl)');

{$I-}
Append(t);
IF IOresult<>0 then ReWrite(t);
{$I+}
try
WriteLn(t,m);
finally
CloseFile(t);
end;
readln;
end.


Автор: volvo 10.06.2008 18:06

Зачем здесь вложенный цикл? Достаточно хранить всего одну строку:

max_st := '';

while not eof(t) do begin
readln(t, st);
if length(max_st) < length(st) then max_st := st;
end;
writeln('longest string: length = ', length(max_st));
append(t);
...
writeln(t, max_st)