|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.03.2013, 16:18 | #1 |
Пользователь
Регистрация: 03.03.2013
Сообщений: 70
|
статистика букв в одном слове
столкнулся с проблемой устранить другие повтор. символы:
Код:
_____________ Код, по правилам форума, нужно форматировать тегами [CODE] .. [ /CODE] (это кнопка с # на панели форматирования сообщения) Модератор Последний раз редактировалось Serge_Bliznykov; 03.03.2013 в 17:24. Причина: чтобы легко понять |
03.03.2013, 17:15 | #2 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
1. Второй цикл нужно делать от текущего символа, а не с начала строки.
2. При удалении символов нужно делать не прямой, а обратный цикл. 3. Массив лучше задавать в диапазоне символов, а не номеров - тогда задача упрощается Код:
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
|
03.03.2013, 17:27 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
нельзя удалять символы в прямом цикле FOR - вы же в цикле указываете Length(b) - а длина ИЗМЕНЯЕТСЯ после удаления символов!
Расскажите, как формулируется задание? Зачем Вам вообще удалять символы из строки? Возможно, задача может быть решена по другому? |
03.03.2013, 17:38 | #4 |
Made In USSR!
Старожил
Регистрация: 01.09.2010
Сообщений: 3,657
|
Код:
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой" |
03.03.2013, 17:42 | #5 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Как уже было написано выше, прямым циклом for очень проблематично удалять что-либо из строки. А почему? - Верно! Т.к. цикл for один единственный раз вычислит до какого значения должна бежать переменная i.
Тоесть лучше воспользоваться циклом while, где значение вычисляется каждый раз.. А еще лучше идти с конца строки циклом for. Тоесть for i := Length(s) downto 1 do begin Кстати, конечно не зная задания говорить на эту тему очень сложно, НО всё-таки : наверно, было бы лучше писать UpCase (b[i]) Последний раз редактировалось Poma][a; 03.03.2013 в 17:47. |
03.03.2013, 18:24 | #6 |
Пользователь
Регистрация: 03.03.2013
Сообщений: 70
|
по пробую просмотреть все ошибки спс)задача в том что надо cделать статистику букв в одном слове а чтобы сделать это в цикле)каждый повторно встречающийся символ надо удалять чтобы при цикловой печати статистики не видит один и тот же символ)сори за руский)
Последний раз редактировалось Тамерлан Абилов; 03.03.2013 в 18:27. |
03.03.2013, 19:01 | #7 |
Пользователь
Регистрация: 03.03.2013
Сообщений: 70
|
все понятно спс за отзывы оставалось сделать так
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск буквы (или нескольких букв) в слове | Byurrer | Общие вопросы C/C++ | 9 | 09.04.2011 00:10 |
подсчет букв С в последнем слове | Obey177 | Помощь студентам | 7 | 10.09.2010 16:06 |
в каждом слове обратить порядок букв | Maksik | Паскаль, Turbo Pascal, PascalABC.NET | 7 | 20.10.2009 20:24 |
Перебор заглавных букв в слове | =LeonZone= | Общие вопросы Delphi | 8 | 02.11.2007 14:59 |