|
СтрЗаменить() | ☑ | ||
---|---|---|---|---|
0
Wobland
16.04.12
✎
13:38
|
В тексте требуется заменить все буквы "А" на буквы "Б", а все буквы "Б" - на буквы "А".
Ограничения. 1) из инструментов есть только СтрЗаменить(), которая применяется на весь текст сразу; 2) алфавит языка нам неизвестен. может встретиться любой вообразимый символ. знаем только, что есть А и Б. я справился за пять замен. говорят, можно за четыре. |
|||
1
PuhUfa
16.04.12
✎
13:40
|
A - Aвременная
Б - Бвременная Авременная - Б Бвременная - А |
|||
2
Wobland
16.04.12
✎
13:40
|
заметка по поводу второго условия. мы не можем в заменах использовать, к примеру, В, т.к. этого символа может не оказаться в алфавите текста
|
|||
3
zdas
16.04.12
✎
13:41
|
(0) текст из любых символов может состоять?
|
|||
4
birkoFFFF
16.04.12
✎
13:42
|
(1) Тогда уж:
A - Aвременная Б - А Авременная - Б |
|||
5
Wobland
16.04.12
✎
13:42
|
(3) всё, что можно только вообразить ;)
|
|||
6
Wobland
16.04.12
✎
13:43
|
(1)(4) нет в языке символа "в", приехали
|
|||
7
zdas
16.04.12
✎
13:45
|
что-то типа:
|
|||
8
orefkov
16.04.12
✎
13:45
|
(4)
Допустим текст "Бвременная" станет "Б" |
|||
9
Азат
16.04.12
✎
13:46
|
А -> БББ
Б -> ААА ААА -> Б БББ -> А что-то типа такого |
|||
10
zdas
16.04.12
✎
13:46
|
+7
А - %А% Б - %Б% %А% - Б %Б% - А |
|||
11
PuhUfa
16.04.12
✎
13:46
|
(6) "Aвременная" это лишь условное обозначение
|
|||
12
PR
16.04.12
✎
13:46
|
(0) Мда, я смотрю, задача-то просто ужас-ужас.
Пять замен — это серьезно, да. Как-то даже стремно предлагать классический вариант с тремя заменами.
|
|||
13
Азат
16.04.12
✎
13:47
|
(12) а ограничение 1 для тебя не действует?
|
|||
14
zdas
16.04.12
✎
13:47
|
(12) мож не в 1с решение?)
|
|||
15
picom
16.04.12
✎
13:47
|
(12) я неуспел, только временную переменную хотел просто X
|
|||
16
Ёпрст
16.04.12
✎
13:47
|
(12) конечно стрёмно, ибо это не верно
|
|||
17
Wobland
16.04.12
✎
13:47
|
(12) Строка(Новый УникальныйИдентификатор);
допустим, здесь есть "0", а в алфавите текста "0" отсутствует |
|||
18
Wobland
16.04.12
✎
13:48
|
(14) мне удобней было проверяться именно в 1С. не принципиально
|
|||
19
PR
16.04.12
✎
13:48
|
(13) А что там такого ужасного?
|
|||
20
Wobland
16.04.12
✎
13:49
|
(9) "БББ" во что превратится?
|
|||
21
Fish
16.04.12
✎
13:49
|
(19) Нету функции Строка и УникальныйИдентификатор
|
|||
22
PR
16.04.12
✎
13:50
|
(17) А, то есть мы говорим про теоретические задачи на базе практической 1С?
Или вообще (14)? |
|||
23
Fish
16.04.12
✎
13:50
|
(0) А такой вариант:
А -> АБ Б -> БА АБА -> Б БА -> А |
|||
24
Wobland
16.04.12
✎
13:51
|
(22) теория. 1С тут только потому, что удобней проверять, ибо СтрЗаменить() уже есть
|
|||
25
Ёпрст
16.04.12
✎
13:51
|
(22) в (12) один хрен не верный код при любой задаче.
Ибо в УИ может быть буква Б |
|||
26
Wobland
16.04.12
✎
13:52
|
(23) вылетел на "ббб"
|
|||
27
zdas
16.04.12
✎
13:53
|
(26) числа не могут быть в принципе?
|
|||
28
Wobland
16.04.12
✎
13:53
|
(27) "1" - строка
|
|||
29
PR
16.04.12
✎
13:53
|
(25) Ну да, в УИ еще надо все "Б" заменить на "ДаОдинХренРаботает" :))
|
|||
30
Dolly_EV
16.04.12
✎
14:01
|
(0)
Процедура Сформировать() лТекст=СтрЗаменить(лТекст,ПеремА,ПеремА+ПеремА+ПеремБ); лТекст=СтрЗаменить(лТекст,ПеремБ,ПеремБ+ПеремБ+ПеремА); лТекст=СтрЗаменить(лТекст,ПеремА+ПеремА+ПеремБ+ПеремБ+ПеремА,ПеремБ); лТекст=СтрЗаменить(лТекст,ПеремБ+ПеремБ+ПеремА,ПеремА); КонецПроцедуры погонял, вроде все правильно делает в разных сочетаниях А и Б |
|||
31
Ёпрст
16.04.12
✎
14:05
|
(30) АБ - болт
|
|||
32
Dolly_EV
16.04.12
✎
14:05
|
(31) проверь ,все Ок, не болт
|
|||
33
Wobland
16.04.12
✎
14:07
|
(30)
лТекст=СтрокаЗапроса; ПеремА="А"; ПеремБ="Б"; лТекст=СтрЗаменить(лТекст,ПеремА,ПеремА+ПеремА+ПеремБ); лТекст=СтрЗаменить(лТекст,ПеремБ,ПеремБ+ПеремБ+ПеремА); лТекст=СтрЗаменить(лТекст,ПеремА+ПеремА+ПеремБ+ПеремБ+ПеремА,ПеремБ); лТекст=СтрЗаменить(лТекст,ПеремБ+ПеремБ+ПеремА,ПеремА); Сообщить(Стр); баба -> баба |
|||
34
Ёпрст
16.04.12
✎
14:08
|
(32) да вроде работает..
АБ лТекст=СтрЗаменить(лТекст,ПеремА,ПеремА+ПеремА+ПеремБ); ААББ лТекст=СтрЗаменить(лТекст,ПеремБ,ПеремБ+ПеремБ+ПеремА); ААББАББА лТекст=СтрЗаменить(лТекст,ПеремА+ПеремА+ПеремБ+ПеремБ+ПеремА,ПеремБ); БББА лТекст=СтрЗаменить(лТекст,ПеремБ+ПеремБ+ПеремА,ПеремА); БА |
|||
35
PR
16.04.12
✎
14:11
|
Тогда
1. А -> АА 2. Б -> АБ 3. АА -> Б 4. АБ -> А |
|||
36
Wobland
16.04.12
✎
14:13
|
(33) мой косяк. надо было Сообщить(лТекст) делать ;)
|
|||
37
Dolly_EV
16.04.12
✎
14:14
|
(33)
Процедура Сформировать() лТекст=СтрЗаменить(лТекст,А,А+А+Б); лТекст=СтрЗаменить(лТекст,Б,Б+Б+А); лТекст=СтрЗаменить(лТекст,А+А+Б+Б+А,Б); лТекст=СтрЗаменить(лТекст,Б+Б+А,А); КонецПроцедуры БАБА =АБАБ На форме: А - Строка,1 Б - Строка,1 лТекст - Строка, многострочная короче, мне "5")) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |