Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Найти минимальный ненулевой элемент массива, На выходе всегда 0.. хэлп! 
V
    Опции темы
steyraug
Дата 6.11.2010, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 22.8.2010

Репутация: нет
Всего: нет



Господи Иисусе. 

Код

@a = sort {$a <=> $b} @a;
print shift(@a);

PM MAIL   Вверх
fleyta
Дата 6.11.2010, 01:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 6.8.2008

Репутация: нет
Всего: нет



steyraug, и получаем 0, а также, что особо интересно:
Код

...
151,85
151,1
...

но решение классное и его можно допилить, спасибо! ;)
PM MAIL   Вверх
xido
Дата 6.11.2010, 01:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 19.10.2010

Репутация: нет
Всего: нет



Цитата(steyraug @ 6.11.2010,  00:59)
Господи Иисусе. 

Код

@a = sort {$a <=> $b} @a;
print shift(@a);

и вместо O(n)  имеем O(n *log(n)) ы? ;)

Добавлено через 2 минуты и 4 секунды
Цитата(fleyta @ 6.11.2010,  00:48)
оу, сколько дебатов пропустила...
развею сомнения - если бы xido скачал бы мой файлик csv, то он увидел бы, что в данном конкретном случае разделителем является точка с запятой (уж какие данные дают), так что топикстартер в этом случае не ошибается ;)
насчет замены запятых на точки - с данными впоследствии проводятся некоторые арифметические операции, а perl -w имеет привычку сыпать в консоль все предупреждения, в результате чего хоть все и считается правильно (если не производить замену), но тем не менее куча ворнингов напрягает. поэтому и была произведена данная замена, чтобы переменная сразу воспринималась как число.

Добавлено @ 00:59
упс, xido, пардон. запамятовала, что я тут все повырезала и оставила только 1 столбец в csv, но поверьте - разделителями в исходном файле были именно ;

Гы, спасибо что развеяли сомнения ;)

А елси не секрет, зачем вам это?
PM MAIL WWW   Вверх
steyraug
Дата 6.11.2010, 02:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 22.8.2010

Репутация: нет
Всего: нет



Цитата

и вместо O(n)  имеем O(n *log(n))


А есть вариант с O(n)?
PM MAIL   Вверх
xido
Дата 6.11.2010, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 19.10.2010

Репутация: нет
Всего: нет



Цитата(steyraug @ 6.11.2010,  02:46)
Цитата

и вместо O(n)  имеем O(n *log(n))


А есть вариант с O(n)?

Ну да, просто перебор foreach(@data){$min= $_ if $_ < $min && $_ != 0}

Это сообщение отредактировал(а) xido - 6.11.2010, 10:15
PM MAIL WWW   Вверх
fleyta
Дата 6.11.2010, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 6.8.2008

Репутация: нет
Всего: нет



Цитата(xido @  6.11.2010,  01:52 Найти цитируемый пост)
А елси не секрет, зачем вам это? 

для обработки результатов эксперимента. это всего лишь маленький кусочек скрипта, в котором и был затык))
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0803 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.