|
Числовой идентификатор строки | ☑ | ||
---|---|---|---|---|
0
Stim
31.05.18
✎
10:13
|
Есть некий массив строковых значений. В массиве могут быть одинаковые значения.
Нужно каждому из них противопоставить какое-то уникальное числовое значение. Что-то типа: "Вася Пупкин" - 5 "Федя Пупкин" - 12 "Вася Пупкин" - 5 "Маша Иванова" - 22 Главное - чтобы для каждого строкового значения генерируемое число было уникально и не повторялось. Длина числа = 5. Различных значений в массиве не больше 20. Какую формулу можно придумать для генерации уникальных чисел? |
|||
1
unregistered
31.05.18
✎
10:16
|
Не понял.
У вас два значения "Вася Пупкин" с одинаковым(!) числовым значением "5". А в задаче указано "каждому из них противопоставить какое-то уникальное(!) числовое значение". Чем определяется уникальность числового значения? |
|||
2
kubik_live
31.05.18
✎
10:17
|
Индекс элемента массива?
|
|||
3
Darych
31.05.18
✎
10:18
|
инкремент не пойдет, не?
|
|||
4
DrShad
31.05.18
✎
10:18
|
Соответствие и заполнять его обходом массива
|
|||
5
DrShad
31.05.18
✎
10:19
|
(3) здарова бродяга
|
|||
6
VladZ
31.05.18
✎
10:19
|
(0) Загрузи свой массив в ТЗ. Возьми номер строки.
|
|||
7
DrShad
31.05.18
✎
10:20
|
сколько народу попалилось на простом вопросе ....
|
|||
8
Stim
31.05.18
✎
10:20
|
(1) в задаче указано не каждому элементу массива противопоставить уникальное число, а каждому строковому значению из массива.
Элементов массива может 30, уникальных строковых значений в них - 20. Нужно для каждой уникальной строки сделать уникальное число, итого 20 уникальных цифр |
|||
9
PR
31.05.18
✎
10:20
|
Мдааа
|
|||
10
VladZ
31.05.18
✎
10:21
|
(8) Загрузи массив в ТЗ. Сверни. Возьми номер строки.
|
|||
11
Ненавижу 1С
гуру
31.05.18
✎
10:24
|
кури например Hashcode
|
|||
12
Stim
31.05.18
✎
10:24
|
(10) а есть что-нить поинтереснее? Чтобы зависело только от строки.
Что-то типа сложить все коды символов в строке в одно число или как-то рассчитать сумму хеша |
|||
13
МихаилМ
31.05.18
✎
10:25
|
если в один проход хэш строки в число.
|
|||
14
VladZ
31.05.18
✎
10:26
|
(12) Нафига такие сложности?
|
|||
15
Stim
31.05.18
✎
10:27
|
Кто сможет придумать самый короткий вариант? Чтобы в одну строку
стр.ЧисловойИдентификатор = типоваяФункция(стр.МояСтрока); |
|||
16
Малыш Джон
31.05.18
✎
10:27
|
(13) а типа хэш - это гораздо проще, чем вытащить значения в ТЗ, свернуть, в один проход пронумеровать, а потом в один проход проставить соответствия в исходном массиве?
|
|||
17
МихаилМ
31.05.18
✎
10:28
|
(16) проще
|
|||
18
МихаилМ
31.05.18
✎
10:31
|
нет . проще соответствие
|
|||
19
1Сергей
31.05.18
✎
10:58
|
Не надо усложнять. Соответствия достаточно. И следующему прогу будет проще
|
|||
20
Ненавижу 1С
гуру
31.05.18
✎
11:05
|
Функция ХешКод(Строка)
Результат = 0; Для й=1 по СтрДлина(Строка) Цикл Результат = Результат+КодСимвола(Строка,й)*й; КонецЦикла; Возврат Результат%65536; КонецФункции |
|||
21
Сияющий Асинхраль
31.05.18
✎
11:22
|
(14) +100500 :-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |