Показать сообщение отдельно
Старый 04.04.2010, 08:38   #2 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

Есть два способа исправить - плохой и хороший.
Плохой:
Дописать в конце программы (перед writeln) line_out[0]:=d;
Хороший: добавлять символы в line_out вот так: line_out:=line_out+line_in[j];
Самый лучший: забросить Паскаль куда подальше и изучать СИ.

Причины проблемы: Паскаль хранит длину строки в символе с индексом[0]. Соответственно, для новой строки эта длина равна неизвестно чему, и writeln не знает, что печатать.
Если же вы что-то запишите в line_out, длина этого чего-то запишется в line_out[0] и все заработает.

Последний раз редактировалось Long Cat; 04.04.2010 в 08:41
Long Cat вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070