Работа с символьными и строковыми переменными |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Работа с символьными и строковыми переменными |
VoRPaX |
Сообщение
#1
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Помогите решить задачу.
Дан текст, каждый символ которого может быть малой буквой, цифрой или одним из знаков +, -,*. Группой букв будем называть такую совокупность последовательно расположенных букв, которой непосредственно не предшествует и непосредственно не следует буква. Аналогично определим группу цифр и группу знаков. Выяснить, верно ли, что в данном тексте больше групп букв, чем групп знаков. Неполучается определить группу букв и цифр, уже низнаю что делать, а завтра сдавать... |
klem4 |
Сообщение
#2
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
function IsOk(const s: String): Boolean; ? Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
VoRPaX |
Сообщение
#3
|
|||
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Условие которое должно выполнятся программой невыполняется, все время пишет True. Может я просто что то делаю не так, а именно неправельно вызываю функцию?
program q4;
Сообщение отредактировано: klem4 - |
|||
volvo |
Сообщение
#4
|
Гость |
Может быть, наконец, будет приведена строка, с которой это все тестировалось? Или так и будем переливать "из пустого в порожнее"?
Добавлено: Кстати, теги используй... Они не просто так на форуме придуманы... |
arhimag |
Сообщение
#5
|
Знаток Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: 2 |
клем могу привести тест при котором использовать твою функцию будет трудно
файл из трех строк aaaaaaaaaaaaa2aaaaaaaaaaaaaaaaaaa2aaaaa aaa222222222222aaaaaaaaaaaaaaaaaa222222 22aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -------------------- Чего хочет женщина – того хочет Бог
|
VoRPaX |
Сообщение
#6
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
насколько я понял группа букв это "1qqq1"
я вводил 1qq1111qq1 и q11qqqq11q и в обоих случаях выводит true Сообщение отредактировано: VoRPaX - |
klem4 |
Сообщение
#7
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
архимагу: Что-то я не понял, и в чем проблема ? Для всех 3-х строк программа выдала одинаково верный результат - true
автору: латинские бувы вводи ... или добавь в letters ['a'..'п', 'р'-'я'] -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
arhimag |
Сообщение
#8
|
Знаток Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: 2 |
но это один текст!!!
Добавлено: здесь ответ должен быть наверное "нет" Добавлено: пготому что цифровых 5 и буквенных тоже пять -------------------- Чего хочет женщина – того хочет Бог
|
klem4 |
Сообщение
#9
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Результат верный - true, что тебе не нравится - то ?
ps Задание прочитай еще разок. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
VoRPaX |
Сообщение
#10
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
в первом случае две группы букв и одна группа ЗНАКОВ, а во втором наоборот две группы ЗНАКОВ и одна группа букв!
извеняюсь, ошибся Сообщение отредактировано: VoRPaX - |
klem4 |
Сообщение
#11
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
На сколько я понял, знаки и цифры для вас одно и тоже ? Значит так и надо было написать в задании, в моем понимании знаки и цифры это разные вещи, а проверять нужно именно
Цитата Выяснить, верно ли, что в данном тексте больше групп букв, чем групп знаков. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
arhimag |
Сообщение
#12
|
Знаток Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: 2 |
Клем а что твоя программа на ТУРБО ПАСКАЛе выведе при подании на вход вот этого файла.
Добавлено: почему прошу клема, потому что я не знаю как применить на турбо паскале его функцию к такой строке у нее >1000 символов а у турбо паскаля в строке максимум 256 Сообщение отредактировано: arhimag - Прикрепленные файлы klem.txt ( 1.17 килобайт ) Кол-во скачиваний: 252 -------------------- Чего хочет женщина – того хочет Бог
|
klem4 |
Сообщение
#13
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
К твоему глубочайшему сожалению сообщаю: В переменную типа String помещается всего-лишь 255 символов ...
добавлено: Ну вот видишь ты и сам в курсе. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
arhimag |
Сообщение
#14
|
Знаток Группа: Пользователи Сообщений: 424 Пол: Мужской Репутация: 2 |
но ведь в условии нет ограничения на длину
Цитата текст а-------------------- Чего хочет женщина – того хочет Бог
|
klem4 |
Сообщение
#15
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
А когда тебе дуют задачу, в которой сказано: Дано целое число, ты всегда перестраховываешься и пишеш программу таким образом чтобы учеть тот случай, что число может состоять из 1000 цифр ? Все флейм на сегодня окончен, задача решена, тема закрыта.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
Сообщение
#16
|
Гость |
arhimag, ну, может, хватит? Блин, ни в одном топике от тебя покоя нет - везде со своими идиотскими высказываниями влез!!! Хочешь, я добавлю 4 слова так, что задача ВООБЩЕ будет нерешаемой с использованием TP?
Размер файла 3 гигабайта. ВСЕ... Занавес... Тему тожно закрывать? |
Текстовая версия | 10.10.2024 5:36 |