| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Системное программирование > Hash of hashes из arrays, please!!! |
| Автор: junior 29.4.2005, 09:47 |
| Привет! помогите, пожалуйста написать программу! есть 5 arrays, каждый n элемент одного array соотносится с n элементами других. Вот сами arrays: 2. my @imdb_id = ("0120611", "0106308", "0088247", "0267804", 3. "0094074", 4. "0102798", "0120382", 5. "0196229", "0272152", "0109830"); 6. 7. my @movietitles = ("Blade", "Army of Darkness", "The Terminator", "The One", 8. "Superman IV: The Quest for Peace", 9. "Robin Hood : Prince of Thieves", "The Truman Show", 10. "Zoolander", "K-Pax", "Forrest Gump"); 11. 12. my @directors = ("Stephen Norrington", "Sam Raimi", "James Cameron", "James Wong (IV)", 13. "Sidney J. Furie", 14. "Kevin Reynolds (I)", "Peter Weir", 15. "Ben Stiller", "Iain Softley", "Robert Zemeckis"); 16. 17. my @leadstars = ("Wesley Snipes", "Bruce Campbell (I)", "Arnold Schwarzenegger", "Jet Li", 18. "Christopher Reeve", 19. "Kevin Costner", "Jim Carrey", 20. "Ben Stiller", "Kevin Spacey", "Tom Hanks"); 21. 22. my @releaseyears = ("1998", "1993", "1984", "2001", 23. "1987", 24. "1991", "1998", 25. "2001", "2001", "1994"); нужно: 1) Конвертировать arrays в hash of hashes, так чтобы parent hash key name был бы @imdb_id number значение. А значением imdb_id hash key был бы другой hash, содержащий movietitles, directors, leadstars and releaseyears keys. Key names для внутреннего hash должны быть одиночное имя верхнего array, т.е. key name для movietitles должен быть movietitle с соответствующим значением. 2) После создания hash of hashes больше не ссылаться на исходные arrays. 3) Позволить ползователю вводить комманды при появлении соответствующих сообщений: exit и enter key - чтобы выйти из программы; list и enter key - вывод всей информации по каждому movie для всех movies содержащимся в hash ( в алфавитном порядке с помощью sort); если пользователь вводит imdb number ( например 0106308), то вывести всю инфу по этому movie. если номер не найден - вывести сообщение, что его нет в hash. Заранее огромное спасибо! |
| Автор: korob2001 29.4.2005, 10:09 |
| Что конкретно нужно??? Создай хеш хешей .... , ну и с помощью while обрабатывай команды полученные из STDIN, в зависимости от команды выполняй определённое действие. |
| Автор: junior 29.4.2005, 20:35 |
| С обработкой команд кое-что нашла, надеюсь разобраться. А вот как создать hash of hashes из этих arrays? Я пока такого не умею, а в литературе, что читаю не нашла. Можно хоть в общих чертах, если не трудно, please. Спасибо! |
| Автор: korob2001 29.4.2005, 21:20 | ||||
Хотя наверное лучше сделать так, тогда массивы очищаются динамически:
Удачи. |
| Автор: junior 29.4.2005, 21:44 |
| Спасибо огромное!!! P.S. Будут вопросы вернусь завтра! |
| Автор: korob2001 29.4.2005, 22:04 | ||
А вот полное решение твоей задачи:
Будут вопросы, пиши. |
| Автор: junior 30.4.2005, 22:46 |
| Korob2001, спасибо огромное!!!!! I'm your huge fan!!! Обязательно вернусь с новыми вопросами, их у меня много. Спасибо!!! |