Программа на строки, Срочно нужно сделать |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Программа на строки, Срочно нужно сделать |
TORETO |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 31 Пол: Мужской Репутация: 0 |
Заданный текст распечатать по строкам, понимая под строкой либо очередные 6 литер,если среди них нет запятой, либо часть текста до запятой включительно.
|
klem4 |
Сообщение
#2
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
Ты бы хоть уточнил как текст задан, строка, массив строк, текстовый файл ... или три программы ждешь сразу ?
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
Ozzя |
Сообщение
#3
|
Гуру Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
Опять задачник Пильщикова?
|
TORETO |
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 31 Пол: Мужской Репутация: 0 |
Да, опять задачник Пильщикова.Кстати, к нему нет ответов? Текст вводить как строку(string), двумерный массив использовать нежелательно.
Нет, не три программы.Это все должно быть в одной(я думаю с использованием copy что-то) Добавлено через 4 мин.
Что-то наподобие того, тоько в цикле нельзя менять длину строки и то что в repeat тоже как-то должно быть в цикле(наверное можно обойтись и без delete но не знаю как!) Добавлено через 5 мин. klem4 извини, я просто забыл,что уже создал тему |
klem4 |
Сообщение
#5
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
вот как вариант, надо конечно чонить покороче придумать.
var -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
Сообщение
#6
|
Гость |
Не пойдет... Проверяем со строкой:
s := '1111111114-05986-0439586-03495sd;3458604-9568';и убеждаемся, что точка с запятой никакого влияния ни на что не оказывает. Что с ней - то же самое и без нее... |
klem4 |
Сообщение
#7
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
так разделитель вроде запятая, а не точка с запятой. кстати я сделал так что запятая не учитывается(в смысле не выводится на экран в месте с предшествующей частью текста), а надо ..
Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
Сообщение
#8
|
Гость |
А, ну да...
Вот так будет меньше писанины, кстати: ... |
klem4 |
Сообщение
#9
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
так запятая учитывается, по печатается отдельно, а надо вместе с частью текста ... ну изменить осталось не много:
Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
TORETO |
Сообщение
#10
|
Новичок Группа: Пользователи Сообщений: 31 Пол: Мужской Репутация: 0 |
Спасибо большое сейчас попробую.
|
volvo |
Сообщение
#11
|
Гость |
|
klem4 |
Сообщение
#12
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
вообще тут конечно надо бы уточнить ... введи строку '123456,123456'
вот какой должен быть результат ? на сколько я понимаю из условия: Цитата либо часть текста до запятой включительно. то получиться должно 123456, 123456 а может и нет ... я честно говоря не уверен. Сообщение отредактировано: klem4 - -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
Сообщение
#13
|
Гость |
Цитата получиться должно Это с какой стати?123456, 123456 Цитата понимая под строкой либо очередные 6 литер,если среди них нет запятой Что, среди первых 6-ти символов есть запятая, что ты выводишь текст ДО НЕЕ включительно? Нету... Так что запятая идет на следующую строку... |
klem4 |
Сообщение
#14
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
согласен ... ну значит вопрос решен
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
TORETO |
Сообщение
#15
|
Новичок Группа: Пользователи Сообщений: 31 Пол: Мужской Репутация: 0 |
Объясните что значит строка
Добавлено через 2 мин. И еще помоему
можно просто написать
|
volvo |
Сообщение
#16
|
Гость |
Если p = 0, значит это True - следовательно Byte(p = 0) равен 1, умноженный на 6 - станет равным 6... В любом другом случае Byte(p = 0) даст 0, и в P запишется старое значение...
Аналог: If p = 0 then p := 6 |
Текстовая версия | 23.12.2024 21:03 |