08.12.2011, 11:01 | #1 (permalink) |
Студент БГПУ
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
|
Дописать две строчки в Pascal
вот что я придумал: Код:
var s:string; i,j:integer; begin writeln ('Input string'); readln (s); for i:=1 to length(s) do begin j:=i+1; if (s[i]='.') and (s[i+1]='.') then begin delete(s,i,2); insert('.',s,i); end; end; write (s); readln end. |
08.12.2011, 11:01 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Эти обсуждения по содержанию схожи с вашими и могут вам помочь Помогите, пожалуйста, дописать программу SharpDevelop помогите дописать задачу. Завтра экзамен. Pascal Pascal |
08.12.2011, 11:20 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Не, Миш - не фонтан! Если точек больше двух, то Ваша программа оставляет две точки, а не одну. Да и j там явно лишний... Вот работающий вариант:
Код:
var s:string; i:integer; begin writeln ('Input string'); readln (s); i:=0; Repeat Inc(i); If i<Length(s) then if (s[i]='.') and (s[i+1]='.') then begin delete(s,i,1); Dec(i); end; Until i=Length(s); writeln(s); readln end. |
08.12.2011, 11:26 | #3 (permalink) |
Студент БГПУ
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
|
Спасибо большое!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|