Задача на строки, ужасс |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Задача на строки, ужасс |
DieZel |
Сообщение
#1
|
Гость |
Вобщем такая задачка :
В заданном предложении заменить все строчные латинские буквы прописными. Определить ,сколько раз в преобразованном предложении встречается сочетание символов "А+В" Напечатать исходный и преобразованный тексты, а также число встретившихся сочетаний. Возникает сразу 2 вопроса: -Как перевести строчные в прописные (говорят что както при помощи таблицы ASCII) и -Как вообще понимать второе предложение?))) Помогите пожалуйста кто силён?... я в тупике |
klem4 |
Сообщение
#2
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Цитата Как перевести строчные в прописные если особых указаний нет, пользуемся стандартными средствами языка: for i := 1 to length(s) do -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
DieZel |
Сообщение
#3
|
Гость |
Благодарю!!! Работает!!))) Ну а как же всётаки быть со вторым вопросом?
|
Айра |
Сообщение
#4
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Вот через таблицу, но для латинского алфавита:
Цитата Определить ,сколько раз в преобразованном предложении встречается сочетание символов "А+В" Во-первых, сочетание AB или именно А+B.. Вообще можно через pos('AB",s).. ищем, если нашли, то увеличили счетчик, а найденное сочетание удалили, и так пока не получится, что подстроки нет.. Правда это не самый лучший вариант.. придется исходную строку копировать в другую переменную, иначе потеряем.. Сообщение отредактировано: Айра - |
Гость |
Сообщение
#5
|
Гость |
Вот и именно что с плюсом
|
Айра |
Сообщение
#6
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Ну это в целом ничего не меняет.. просто будешь искать pos('A+B',s) и все))
а можно еще так: if (s[i]='A') and (s[i+1]='+') and (s[i+2]='B') then inc(kol); |
DieZel |
Сообщение
#7
|
Гость |
Ну а что принять в качестве А и В ? любые 2 буквы чтоли?
|
Айра |
Сообщение
#8
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Хм.. знаешь, вот я это "А+B" поняла как сочетание трех конкретных символов.. если тебе непонятно задание, то лучше спросить у препода..
|
DieZel |
Сообщение
#9
|
Гость |
А! ,всё, допёрло!!))) Айра спасибо! как всё оказывается просто было!)))
|
volvo |
Сообщение
#10
|
Гость |
Цитата Вообще можно через pos('AB",s).. ищем, если нашли, то увеличили счетчик, а найденное сочетание удалили, и так пока не получится, что подстроки нет.. Ай-яй-яй Оля, если будем удалять можем нарваться на неприятности... К примеру: s := 'hello A+B world AA+B+B !!!';Что получим? Сколько раз 'A+B' встречается в строке? Внимательней с такими вещами... |
мисс_граффити |
Сообщение
#11
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
а если удалять не А+В, а весь кусок строки, который заканчивается этим сочетанием?
ну или наоборот - копировать "хвост"... -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Айра |
Сообщение
#12
|
Профи Группа: Пользователи Сообщений: 731 Пол: Женский Репутация: 25 |
Цитата Внимательней с такими вещами... ой.. не заметила.. Тогда придется все через индексы делать.. |
andriano |
Сообщение
#13
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
|
Текстовая версия | 6.05.2024 8:03 |