|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.02.2016, 15:23 | #1 |
Новичок
Джуниор
Регистрация: 13.02.2016
Сообщений: 7
|
Нужно задать программу, которая удаляет три символа в начале слов, оканчивающихся на th.
К примеру задаю строку ghghjhth jdfkth shfjth hjsjhfj
Программа должна вывести hjhth kth jth hjsjhfj |
13.02.2016, 17:41 | #2 |
Регистрация: 13.02.2016
Сообщений: 4
|
Здравствуйте, алгоритм словами:
1 Из исходной строки s взять подстроку subs, которая явл. словом (прочитать до пробела); 2 Если два последних символа в подстроке th, то из этой подстроки удалить три первых символа процедурой Delete иначе вставить эту подстроку в строку answer без изменений; 3 Вставить подстроку в строку answer, пробел; 4 Повторять со всеми словами; |
13.02.2016, 17:58 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Heirat, всё правильно, алгоритм верный!
если не сильно заморачиваться, то можно начать с такого кода: Код:
Последний раз редактировалось Serge_Bliznykov; 13.02.2016 в 18:13. |
13.02.2016, 18:22 | #4 |
Новичок
Джуниор
Регистрация: 13.02.2016
Сообщений: 7
|
Я создала программу. Что не так? Где iF -выдает ошибку
Код:
Последний раз редактировалось Вадим Мошев; 14.02.2016 в 15:33. |
13.02.2016, 19:35 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
13.02.2016, 19:41 | #6 |
Новичок
Джуниор
Регистрация: 13.02.2016
Сообщений: 7
|
Всмысле? У меня в этой строке ошибка, но я не могу понять какая.
Последний раз редактировалось Оля11; 13.02.2016 в 19:51. |
13.02.2016, 20:12 | #7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Дык и написал какая - для i=1 чему равно i-1 и i-2?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
13.02.2016, 20:22 | #8 |
Новичок
Джуниор
Регистрация: 13.02.2016
Сообщений: 7
|
А если так. Правильно?
var s:string; l,i:integer; begin readln(s); writeln(s); i:=1; L := Length(s); for i := 1 to L do begin If ((s[i]=' ') and (s[i-1]='h') and (s[i-2]='t')) or ((s[i]='h') and (s[i-1]='t') ) then Delete(s,1,3); End; Writel(s); {выводим результат} Readln; End. |
13.02.2016, 20:53 | #9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
А чем отличается? Опять смотри те же i-1 и i-2 для i=1 - выход за пределы массива. Строка это массив размерности 1..L -> индекс не должен быть меньше 1 и больше L
ADD А чем код Сергея не устроил?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 13.02.2016 в 21:03. |
13.02.2016, 21:07 | #10 |
Новичок
Джуниор
Регистрация: 13.02.2016
Сообщений: 7
|
Так?
var s:string; l,i:integer; begin readln(s); writeln(s); L := Length(s); for i := 1 to L do begin If ((s[i]=' ') and (s[i-1]='h') and (s[i-2]='t')) or ((s[i]='h') and (s[i-1]='t') ) then Delete(s,1,3); End; Writeln(s); {выводим результат} Readln; End. Все равно ошибку выдает |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Указатели в Паскале: Программу, которая удаляет из линейного списка целых чисел первый отрицательный элемент | Victor1995 | Помощь студентам | 8 | 24.12.2013 11:19 |
Нужно написать программу на C#, которая удаляет из текста все слова | igrik | Помощь студентам | 2 | 16.07.2013 18:13 |
определить количество слов в тексте, оканчивающихся на гласную букву | Lellya | Помощь студентам | 0 | 10.04.2011 23:15 |
Напишите программу, которая удаляет второй и третий абзацы активного документа. | Artur1992 | Microsoft Office Word | 2 | 09.01.2011 10:22 |
Delphi Написать программу, которая удаляет начальные пробелы из введенной с клавиатуры строки. | Xetag | Помощь студентам | 2 | 08.06.2010 19:55 |