Отсортировать записи по уникальности и кол-ву упоминаний в списке
-
Есть 100 записей. SPISOK1
Делаю удалить дубликаты. Получаю SPISOK2Затем foreach SPISOK2
COUNT=0
foreach SPISOK1
если значения равны COUNT+1а дальше я что то потерялся.
в php это решается элементарно двумерным массивом, а тут как быть.
итоговая задача чтобы в SPISOK2 они были отсортированы по кол-ву вхождений и желательно это кол-во вхождений вывести в лог тоже
-
@kuzkuz said in Отсортировать записи по уникальности и кол-ву упоминаний в списке:
в php это решается элементарно двумерным массивом, а тут как быть.
А что вам мешает использовать двумерный массив в BAS?
-
Ок. попробую.
Сможет кто то подсказать, что то алгоритм не укладывается
Имеем
текстовый файлA 20% B 5% C 10% D 3% E 30% F 20% G 6% H 5%
как присваивая значение переменной соблюсти пропорцию? (вероятность в %)
-
Лично я вижу такой вариант.
Создать новый список и закинуть в него
А 20 раз
B 5 раз
С 10 раз
и т.д.
Потом выбираем случайны элемент.
Хорошее решение?
-
@kuzkuz said in Отсортировать записи по уникальности и кол-ву упоминаний в списке:
Ок. попробую.
Сможет кто то подсказать, что то алгоритм не укладывается
Имеем
текстовый файлA 20% B 5% C 10% D 3% E 30% F 20% G 6% H 5%
как присваивая значение переменной соблюсти пропорцию? (вероятность в %)
Второй вариант
Складываем все значения
20+5+10+3+30+20+6+5 = 99
[[RANDOM]] = rand(1,99)
у нас 8 вариантов, поэтомуmin= 0
for 1 до 8 {
получаем из списка вероятность N
max= N
if ( [[RANDOM]] > min && [[RANDOM]] < max) {NEW_VAR = значению}
} else {
min = min + N
}
-
-
@kuzkuz said in Отсортировать записи по уникальности и кол-ву упоминаний в списке:
Третий вариант.Есть 100 записей. SPISOK1
ничего с ним не делать. От туда и брать значения. Вероятность создастся сама собой )
-
ну да, еще лучше