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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2013, 23:19   #1
Razdolbai
Новичок
Джуниор
 
Регистрация: 12.11.2012
Сообщений: 20
По умолчанию исправление ошибки

Код:
uses crt;
var s,sl,smax: string;
i,k,dmax: integer;
f,g: text;
begin
assign(f,'C:\Comb.txt');
assign(g,'C:\4isla.txt');
reset(f);
rewrite(g);
while not (eof (f)) do
begin
readln(f,s);
s:=s+ ' '; sl:=''; dmax:=0;
for i:=1 to length(s) do
if s[i]<>' ' then sl:=sl+s[i] else
begin
if length(sl)>dmax then
begin
dmax:=length(sl);
smax:=sl;
end;
sl:='';
end;
for i:=1 to length(s) do
if s[i]<>' ' then sl:=sl+s[i] else
begin
if length(sl)=dmax then
begin
inc(k);
writeln(g,sl);
end;
sl:='';
end;
end;
writeln(g,k);
writeln('Самые длинные слова каждой строки занесены в файл g');
close(f);
close(g);
readkey
end.

Паскаль ругается ошибкой:"Произошло переполнение строки при выполнении операции "+" в 16 строке, подскажите что за ошибка, думаю что формулу наверное не правильно написал

Последний раз редактировалось Stilet; 13.07.2013 в 10:41.
Razdolbai вне форума Ответить с цитированием
Старый 13.07.2013, 10:42   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Текст ошибки на аглицком в студию.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.07.2013, 13:54   #3
Razdolbai
Новичок
Джуниор
 
Регистрация: 12.11.2012
Сообщений: 20
По умолчанию

There was an overflow of a line when performing operation "+"
Razdolbai вне форума Ответить с цитированием
Старый 13.07.2013, 17:23   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Прикрепи сюда файлы текстовые. Те что в программе открываются.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.07.2013, 18:50   #5
Razdolbai
Новичок
Джуниор
 
Регистрация: 12.11.2012
Сообщений: 20
По умолчанию

думаешь в них проблема?

Comb.txt

во второй файл сохраняется самое длинное слово

УРААААА заработало, странно даже ничего не исправил, просто седня попробывал и получилось)
только теперь проблема получилось что он выводит длинное слово каждой строки,а мне надо самое длинное во всем тексте, как лучше переделать? указать что бы считывалось до конца файла?

Последний раз редактировалось Stilet; 13.07.2013 в 21:10.
Razdolbai вне форума Ответить с цитированием
Старый 13.07.2013, 20:48   #6
Тамерлан Абилов
Пользователь
 
Регистрация: 03.03.2013
Сообщений: 70
По умолчанию

алгоритм не смотрел твой но думаю так.указывать до конца или как сейчас у вас не знаю просто допустим находя в каждой строке длинное слово то сохраняем длину этого слова и проверяем следующие слова принципом нахождения максимума кратко говоря
Тамерлан Абилов вне форума Ответить с цитированием
Старый 13.07.2013, 21:13   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
думаешь в них проблема?
Не исключено. В классическом паскале строка длинной до 255 символов. Твой паскаль судя по всему просто не осиливает строку из файла.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исправление ошибки проекта. borland98 Помощь студентам 1 25.12.2012 17:42
исправление ошибки в функции lexflax Общие вопросы C/C++ 2 05.11.2011 08:48
Исправление ошибки Adriana Microsoft Office Access 1 17.10.2010 19:45
Исправление ошибки bee_uk Общие вопросы C/C++ 1 02.06.2009 13:43
Исправление ошибки в MS VS 2005 NatCa Помощь студентам 6 03.12.2008 18:23