The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"perl: Количество одинаковых элементов массива"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"perl: Количество одинаковых элементов массива" 
Сообщение от Portos Искать по авторуВ закладки(ok) on 03-Окт-05, 11:44  (MSK)
Здравствуйте,
никак не могу разобраться с этой задачей:

необходимо посчитать количество одинаковых элементов в массиве.
те есть массив, например:
@dot=qw(1 2 3 6 7 2 1 1 2 6 1);

необходимо вывести такую статистику:
единиц - 4 штуки,
двоек - 3 штуки и тп

при этом надо учесть, что сам массив произвольного размера и количество повторяющихся элементов неизвестно.

Единственно что пришло в голову - скопировать массив и сравнивать каждый элемент массива со всеми элементами его копии. Но этот вариант крайне ресурсоёмкий. Наверняка есть какое-то более простое решение.

Специалисты, помогите пожалуйста.
Спасибо большое заранее.

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "perl: Количество одинаковых элементов массива" 
Сообщение от madskull Искать по авторуВ закладки(ok) on 03-Окт-05, 15:41  (MSK)
@dot=qw(1 2 3 6 7 2 1 1 2 6 1);
%stats=();
map {$stats{$_}++} @dot;

for $i (keys %stats) {
print "$i = $stats{$i}\n"
}

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "perl: Количество одинаковых элементов массива" 
Сообщение от Portos Искать по авторуВ закладки(ok) on 04-Окт-05, 17:20  (MSK)
Many thanx,
всё работает :-)

а вот ещё один вариант подсказали:

@dot=qw(1 2 3 6 7 2 1 1 2 6 1);
my $cnt = {};
$cnt->{$_}++ foreach @dot;

use Data::Dumper;
print Dumper($cnt);


--------------------------

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "perl: Количество одинаковых элементов массива" 
Сообщение от madskull Искать по авторуВ закладки(ok) on 05-Окт-05, 11:25  (MSK)
>Many thanx,
>всё работает :-)
>
>а вот ещё один вариант подсказали:
>
There's More Than One Way To Do It
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру