Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Maxim Y. Zinyakov                    2:5065/21      25 Sep 2000  14:05:04
 To : Oleg Ivanilov
 Subject : Помогите, плз!..
 -------------------------------------------------------------------------------- 
 
 
 24 Sep 00 21:51, you wrote to All:
 
  OI> # Есть два массива, с равным количеством эл-ов. (dates и places)
  OI> # Hадо устроить проверку - если в первом массиве есть одинаковые
  OI> эл-ты, то
  OI> # во втором массиве об`еденить соответствующие элементы в один через
  OI> ", "
  OI> # При этом в первом массиве все одинаковые эл-ты об`единить в один.
 
 === CUT ===
 @arr1 = qw(1 2 3 3 4 5 5 6 6 6);
 @arr2 = qw(11 22 33 44 55 66 77 88 99 12);
 #^^^ это твои массивы
 
 while ($i<=$#arr1+1) {
     if ($combined{$arr1[$i]}){
     $combined{$arr1[$i]}.=', '.$arr2[$i]
     }
     else {$combined{$arr1[$i]}=$arr2[$i]};
     $i++;
 };
 #^^^ создаем хеш: ключ - эл. первого массива, значение - соотв. эл.
 #второго при этом делается проверка, если такой элемент уже существует,
 #то  к нему значение добавляется по заданной схеме.
 
 foreach $key (sort keys %combined){
     print "$key : $combined{$key}\n" if ($combined{$key});
     };
 #^^^ получаем необходимый хеш, и любуемся на него.
 
 === CUT ===
 если же тебе надо разнести все полученное по массивам обратно, что, по-моемцу не
 имеет смысла, то можно сделать следующее:
 === CUT ===
 
 splice @arr1,0,$#arr1+1;
 splice @arr2,0,$#arr2+1;
 #^^^обнуляем массивы
 
 foreach $key (sort keys %combined){
     $arr1[$key]=$key;
     $arr2[$key]=$combined{$key};
     };
 #^^^ раскладываем все куда надо
 # HО! эта раскладка будет работать только если елементы первого массива - целые 
 #натуральные числа... иначе, она не имеет смысла.
 
 === CUT ===
 
 Удачи!
 *Maqs.* [max@surt.sochi.ru]
 
 --- GoldED/LNX 3.0.1
  * Origin: WARNING! System paused: waiting for the miracle... (2:5065/21)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Помогите, плз!..   Oleg Ivanilov   24 Sep 2000 21:51:26 
 Помогите, плз!..   Maxim Y. Zinyakov   25 Sep 2000 14:05:04 
 Re: Помогите, плз!..   Eugene Bodin   26 Sep 2000 09:47:14 
Архивное /ru.perl/181339cf5fa4.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional