1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
Условие: Написать программу, заменяющую все подсловия abc на def. Удалить все пробелы и точки. Процедуры НЕ использовать.
После значительной мозговой атаки получилось у меня вот что :
str: string[1..255]; for i = 1 to lenght (str) do begin if ((str[i]="a") and (str[i+1]="b") and (str[i+2]="c")) then str[i]:="d"; str[i+1]:="e"; str[i+2]:="f";
if (str[j] = ".") then for j = i+1 to lenght str[j-1] := str [j];
помогите привести задачку к окончательному варианту, а то скоро сдавать
Значит так, предложенная тобой программа не будет работать, так как str[i] - это номер символа. Ты пытаешься найти номер символа, равный А, B или C и заменить его на другой символ. Т.е. в твоем цикле ты обрабатываешь ТОЛЬКО НОМЕР символа (или его индекс по другому), но ни в коем-случае не сам символ. Надеюсь, это ясно. Идем дальше. Если нельзя использовать процедуры, значит используй функции. Например с помощью функции POS ты можешь найти подстроку в своей строке и заменить её. Вот тебе часть моего конспекта по строкам: "Функция POS(str1,str2) определяет позицию подстроки в строке. Результат - целое число, определяющее номер элемента с которого начинается ПЕРВОЕ вхождение подстроки str1 в строку в строку str2. Если str1 не входит в str2, то значение функции равно нулю. Пример:
k1=Pos('ша','Наша Раша'); k1=3
;" Дальше - проще. С помощью этой функции ищи символы пробела и точки в строке и меняй их на любой другой, например запятую. Затем, с помощью этой же функции ищи символы а,b,c и меняй их на d,e,f. Вопросы есть?
--------------------
"...Пропитанный злостью и никотином Я навсегда останусь teen'ом. Всегда семнадцать, всегда война И вечный дождь с двух сторон окна..."