Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.06.2011, 00:04   #1
Эвген
Новичок
Джуниор
 
Регистрация: 21.06.2011
Сообщений: 2
По умолчанию текстовый файл

Имеется текстовый файл. Найдите длину самой длинной строки.

Хочу использовать такой алгоритм решения,где нашли позиции точек, они ж равны числам. Потом от второй такой позиции отнять первую, и если эта разность больше,чем значение позиции первой точки,то значит вторая строчка больше..как-то так..не знаю,насколько это правильно...начал делать код, вывел позиции точек..а вот как их запомнить и потом действия над ними проводить не знаю. Если есть мысли, подскажите.

вот мой код
Код:
uses crt;
var f:text;
 a:array [1..1000] of string;
n:string;
 s:string;
i,v:integer;
begin
cls;
assign(f,'приложениеВ.txt');
reset(f);
while not eof(f) do
begin
readln (f,n);
s:=s+n;
end;
v:=length(s);
writeln(v);
 close(f);
  for i:=1 to v do
if s[i]='.' then
writeln(i); {вывели позиции}
end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 22.06.2011 в 09:00.
Эвген вне форума Ответить с цитированием
Старый 22.06.2011, 09:14   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Что ж Вы так мудрите то?! Текстовый файл состоит из СТРОК (то, что Вы читаете через ReadLn и есть строка.
Через Length() получаете её длину. Ищите максимальную величину. Всё!

Код:
Max := 0;  {максимальная длина}
NomerMax := -1; {номер строки с максимальной длиной}
i := 0; {счётчик строк}
assign(f,'приложениеВ.txt');
reset(f);
while not eof(f) do
begin
  inc(i);
  readln (f, S);
  if Length(S)>Max then begin
     Max :=  Length(S);
     NomerMax := i;     
  end;
end;
if NomerMax<0 then WriteLn('В файл вообще нет значащих строк!')
else WriteLn(' Строка номер ',NomerMax,' имеет максимальную длину равную ',Max);
Readln;

Точки то тут при чём?! Или Вы задание неверно процитировали?!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.06.2011, 10:54   #3
Эвген
Новичок
Джуниор
 
Регистрация: 21.06.2011
Сообщений: 2
По умолчанию

У меня мысль сразу,что предложения точками заканчиваются) поэтому и зациклился на них) Да..оказывается ларчик легко открывался) Спасибо за ответ)
Эвген вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
текстовый файл Абай Паскаль, Turbo Pascal, PascalABC.NET 0 14.06.2011 16:37
текстовый файл Абай Паскаль, Turbo Pascal, PascalABC.NET 0 03.06.2011 10:09
как текстовый файл в формате word 2007 переделать в файл в формате ZAY JULIA Microsoft Office Word 13 09.06.2010 19:43
Текстовый файл Mashul'ka Помощь студентам 2 22.05.2009 00:07
Текстовый файл в текстовый массив Kimimaru Общие вопросы C/C++ 1 02.12.2007 11:55