| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Найти нетипичные значения? хеш массивов |
| Автор: Suppir 24.6.2010, 10:01 |
| Добрый день! Помогите с решением следующей задачки. Имеем массив строк: ааа = 1 ааа = 1 ааа = 2 ааа = 1 ааа = 1 ббб = 7 ббб = 7 ббб = 1 ббб = 7 Как видите, строке "ааа" обычно соответствует символ "1", а строке "ббб" обычно соответствует символ "7". Необходимо для каждой строки (ааа и ббб) найти нетипичные значения. Т.е. необходимо обнаружить пары "ааа = 2" и "ббб = 1". Предполагаю, что необходимо построить хеш массивов: ключ "ааа", которому соответствует массив значений: 1, 1, 2, 1, 1, ключ "ббб", которому соответствует массив значений: 7, 7, 1, 7 А потом перебрать массив значений для каждого ключа и найти нетипичные. Только реализовать это чудо никак не получается :( |
| Автор: arto 24.6.2010, 10:45 |
| while (<>) { chomp; my ($k,$v) = split "\\s*=\\s*"; push @{ $hash{$k} },$v; } |
| Автор: Suppir 24.6.2010, 11:32 |
| arto, ты в них разбираешься? А как потом найти в этой структуре нетипичные значения? |
| Автор: dva300 24.6.2010, 12:52 | ||
задача примитивная. включай мозГ по итогам операций выше получишь N массивов в которых тебе просто надо посчитать одинаковые елементы и вывести в порядке убывания. |
| Автор: arto 25.6.2010, 06:33 |
| посчитайте частоты |