30.10.2011, 16:26 | #1 (permalink) |
Новичок
Регистрация: 30.10.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите пожалуйста исправить задачу на строки, Паскаль
Я написала программу, но она не работает: в первом слове удаляет символы, совпадающие с первым, а дальше удаляет символы, совпадающие с первым символом второго слова(даже если слов больше чем 2) и если ввести подряд несколько совпадающих символов, то удаляется только половина. Программа: uses crt; var s:string; c:char; i:integer; begin readln(s); while s[1]=' ' do delete(s,1,1); c:=s[1]; for i:=2 to length(s) do if s[i]<>' ' then begin if s[i]=c then delete(s,i,1); end else begin c:=s[i+1]; i:=i+2; while s[i]<>' ' do begin if s[i]=c then delete(s,i,1); i:=i+1; end; end; write(s); end. |
30.10.2011, 16:26 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Аналогичные темы уже тут встречались, вот их список Помогите решить задачу по C++, пожалуйста Open GL, пожалуйста, помогите исправить ошибки в программе |
30.10.2011, 18:03 | #2 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
var s:string; c:char; i:integer; begin writeln('Enter the string:'); readln(s); while s[1]=' ' do delete(s,1,1); i:=0; Repeat inc(i); c:=s[i]; repeat inc(i); if s[i]=c then begin delete(s,i,1); dec(i); end; until (s[i]=' ') or (i=length(s)); Until i=length(s); writeln(s); readln end. |
|
30.10.2011, 20:06 | #3 (permalink) |
Новичок
Регистрация: 30.10.2011
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Спасибо большое, всё работает!
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|