1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Такое впечатление, что это программа не твоя, а товарища с похожим заданием.
Цитата
А программу подредактировать поможешь?
Подредактировать? Легко. Добавь в неё две фигурные скобки:
Program stroka1; uses crt; var s,s1,s2,s3:string; i,j,k:byte; c:char; begin clrscr; writeln('Введите 1 предложение:'); readln(s); s:=' '+s; i:=1; s2:=''; while i<=length(s) do if (s[i]<>' ')and(s[i-1]=' ') then begin j:=i; s1:=''; while(j<=length(s)){and(s[j]<>' ')} do begin s1:=s1+s[j]; j:=j+1; end; c:=s1[1]; s3:=copy(s1,2,length(s1)-1); for k:=length(s3)downto 1 do if s3[k]=c then delete(s3,k,1); s2:=s2+s1[1]+s3; i:=i+length(s1); end else begin s2:=s2+s[i]; i:=i+1; end; delete(s2,1,1); write(s2); readln end.
Мужики, вы чего? Оборзели слегка? Или забыли как сами начинали? А может, это новый способ заигрывать девочкой?.. Вы как будете первачку 1+2 объяснять - с помощью Додекиндовых сечений или все же на яблоках?? Да, уважаемые Действительные Члены Младшей Группы Детского Сада (ДЧМГДС), вас нельзя и на несколько часов оставить без внимания..
2 TarasBer: буду понижать репу за всякие O(n) не по делу - флуд! Даже хуже - пудришь мозги начинающим..
Провинциалка, вот вся твоя задача:
var s: string; i: integer;
begin Write('Введите строку: '); ReadLn(s); for i:=Length(s) downto 1 do if s[i]=s[1] then Delete(s,i,1); WriteLn(s); ReadLn end.
Если нужно удалять независимо от регистра (большая/маленькая буква), то главный цикл замени на такой:
for i:=Length(s) downto 1 do if UpCase(s[i])=UpCase(s[1]) then Delete(s,i,1);
Задавай вопросы, если что-то неясно.
Если возможна ситуация, что первый символ - не буква (например: "Эй!"- крикнул он. Первый символ - кавычка), и надо ее обрабатывать, то нужно добавить поиск первой буквы. Мне почему-то кажется, что это тебе пока не надо (спроси препа). Если окажется, что надо - скажи, обсудим.
Пиши на том, что есть, никто тебя не перетягивает на Delphi. Pascal/Delphi - это просто название опции в выпадающем меню, которую тебе надо выбрать. Поскольку подсветка синтаксиса языкозависима, то и несколько опций на выбор. Опция Pascal/Delphi означает, что ты хочешь использовать вариант подсветки для языка Pascal или Delphi. То есть числа, строки, комментарии и т.п. будут выделены другим цветом (приглядись к программке в этом посте). Понятно? И прочти же, наконец, правила! И всего форума, и этого раздела (вверху этой страницы, п.2)
Успехов тебе.
--------------------
я - ветер, я северный холодный ветер я час расставанья, я год возвращенья домой
Извините, я тут немного припозднилась - то лекции, то проблемы. Мне понравилось всё, что тут обсуждалось. И вариант: var s: string; i: integer;
begin Write('Введите строку: '); ReadLn(s); for i:=Length(s) downto 1 do if s[i]=s[1] then Delete(s,i,1); WriteLn(s); ReadLn end. меня даже больше чем устраивает!!! Огромнейшее спасибо всем, кто принимал участие в этом нелёгком общении. (Такое впечатление что на форуме настоящие АКУЛЫ своего дела. Честь и хвала профессионалам!)