21.04.2010, 09:19 | #1 (permalink) |
Member
Регистрация: 20.04.2010
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Строки. Паскаль.
Дана строка символов Известно, что символ отличен от пробела и что среди имеется хотя бы один пробел. Рассматриваются - символы, предшествующие первому пробелу (n заранее не известно). Преобразовать последовательность: удалив из каждой группы идущих подряд цифр, в которой более двух цифр и которой предшествует точка, все цифры, начиная с третьей (например, аb+0.1973-1.1 преобразуется в аb+0.19-1.1). |
21.04.2010, 09:19 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Ранее на форуме создавалось что то аналогично Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл Паскаль, символы и строки Паскаль, строки |
21.04.2010, 10:36 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
VAR S:STRING; Ch:CHAR; i,j,n:INTEGER; b:ARRAY[1..255] of BOOLEAN; BEGIN WriteLn('Enter the string, containing at least one space:'); ReadLn(S); For i:=1 to 255 do b[i]:=true; i:=1; Repeat If S[i]<>' ' then begin If (S[i]='.') and (Ord(S[i+1])>47) and (Ord(S[i+1])<58) and (Ord(S[i+2])>47) and (Ord(S[i+2])<58) then begin j:=3; While (Ord(S[i+j])>47) and (Ord(S[i+j])<58) do begin b[i+j]:=false; Inc(j); end; end; Inc(i); end; Until S[i]=' '; n:=i-1; For i:=1 to n do If b[i] then Write(S[i]); WriteLn; ReadLn; END. |
|
26.04.2010, 12:46 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Естественно, прежде чем быть выложенной, программа была отлажена и протестирована. Поэтому, пожалуйста, конкретнее. Вообще не запускается? Не транслируется? Выдает ошибку (в каком месте)? Ну и т.д. - не жалейте пальчики, напишите подробно, иначе помочь не сможем. Скорее всего, какие-то глюки реализации Паскаля.
|
26.04.2010, 12:53 | #5 (permalink) |
Member
Регистрация: 20.04.2010
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Запускаеться, выводит надпись "Enter the string, containing at least one space:" Ввожу строку, нажимаю Enter. Выводиться первое слово из строки не измененное и программа заканчивает работу. Код ввожу в Делфи, может из за этого?
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
26.04.2010, 13:08 | #6 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Под Delphi тоже должно работать, только там надо как-то экранный ввод-вывод организовывать. Либо делать файловый. |
|
26.04.2010, 14:39 | #8 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну вот как это выглядит у меня:
Уж и не знаю, почему у Вас не идет. Попробуйте переделать на файловый ввод-вывод. |
26.04.2010, 16:30 | #9 (permalink) |
support
Регистрация: 19.08.2007
Адрес: Зея
Сообщений: 15,797
Записей в дневнике: 71
Сказал(а) спасибо: 166
Поблагодарили 203 раз(а) в 86 сообщениях
Репутация: 75760
|
В Delphi в VCL-форме не заработает, создавайте консольное приложение. И еще нужно проверить соответствие листинга набору допустимых операторов.
__________________
Убить всех человеков! |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|